summary |
shortlog |
log |
commit | commitdiff |
review |
tree
raw |
patch |
inline | side by side (from parent 1:
a649fd1)
Issue-ID: AAF-655
Change-Id: I6719683718ec8dc2695df1eb14b6b490df5976c5
Signed-off-by: Sai Gandham <sg481n@att.com>
12 files changed:
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
<modelVersion>4.0.0</modelVersion>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
<name>CADI Plugins Parent</name>
<packaging>pom</packaging>
<name>CADI Plugins Parent</name>
<packaging>pom</packaging>
<parent>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<relativePath>..</relativePath>
</parent>
<parent>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<relativePath>..</relativePath>
</parent>
public class AAFAuthenticationInfo implements AuthenticationInfo {
private static final long serialVersionUID = -1502704556864321020L;
public class AAFAuthenticationInfo implements AuthenticationInfo {
private static final long serialVersionUID = -1502704556864321020L;
- final static Logger logger = LoggerFactory.getLogger(AAFAuthenticationInfo.class);
+ final static Logger logger = LoggerFactory.getLogger(AAFAuthenticationInfo.class);
// We assume that Shiro is doing Memory Only, and this salt is not needed cross process
private final static int salt = new SecureRandom().nextInt();
// We assume that Shiro is doing Memory Only, and this salt is not needed cross process
private final static int salt = new SecureRandom().nextInt();
}
@Override
public byte[] getCredentials() {
}
@Override
public byte[] getCredentials() {
+// logger.info("AAFAuthenticationInfo.getCredentials");
return hash;
}
@Override
public PrincipalCollection getPrincipals() {
return hash;
}
@Override
public PrincipalCollection getPrincipals() {
+// logger.info( "AAFAuthenticationInfo.getPrincipals");
UsernamePasswordToken upt = (UsernamePasswordToken)atoken;
if(apc.getPrimaryPrincipal().getName().equals(upt.getPrincipal())) {
byte[] newhash = getSaltedCred(new String(upt.getPassword()));
UsernamePasswordToken upt = (UsernamePasswordToken)atoken;
if(apc.getPrimaryPrincipal().getName().equals(upt.getPrincipal())) {
byte[] newhash = getSaltedCred(new String(upt.getPassword()));
+ logger.info("Successful authentication attempt by " +upt.getPrincipal());
if(newhash.length==hash.length) {
for(int i=0;i<hash.length;++i) {
if(hash[i]!=newhash[i]) {
if(newhash.length==hash.length) {
for(int i=0;i<hash.length;++i) {
if(hash[i]!=newhash[i]) {
import org.onap.aaf.cadi.Access.Level;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.onap.aaf.cadi.Access.Level;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* We treat "roles" and "permissions" in a similar way for first pass.
*
/**
* We treat "roles" and "permissions" in a similar way for first pass.
*
public class AAFAuthorizationInfo implements AuthorizationInfo {
private static final long serialVersionUID = -4805388954462426018L;
public class AAFAuthorizationInfo implements AuthorizationInfo {
private static final long serialVersionUID = -4805388954462426018L;
- final static Logger logger = LoggerFactory.getLogger(AAFAuthorizationInfo.class);
+ final static Logger logger = LoggerFactory.getLogger(AAFAuthorizationInfo.class);
private Access access;
private Principal bait;
private Access access;
private Principal bait;
@Override
public Collection<Permission> getObjectPermissions() {
@Override
public Collection<Permission> getObjectPermissions() {
-// access.log(Level.DEBUG, "AAFAuthorizationInfo.getObjectPermissions");
+// logger.info("AAFAuthorizationInfo.getObjectPermissions");
synchronized(bait) {
if(oPerms == null) {
oPerms = new ArrayList<Permission>();
synchronized(bait) {
if(oPerms == null) {
oPerms = new ArrayList<Permission>();
return oPerms;
}
@Override
public Collection<String> getRoles() {
return oPerms;
}
@Override
public Collection<String> getRoles() {
+// logger.info("AAFAuthorizationInfo.getRoles");
// Until we decide to make Roles available, tie into String based permissions.
return getStringPermissions();
}
@Override
public Collection<String> getStringPermissions() {
// Until we decide to make Roles available, tie into String based permissions.
return getStringPermissions();
}
@Override
public Collection<String> getStringPermissions() {
+
+// logger.info("AAFAuthorizationInfo.getStringPermissions");
synchronized(bait) {
if(sPerms == null) {
sPerms = new ArrayList<String>();
for(org.onap.aaf.cadi.Permission p : pond) {
sPerms.add(p.getKey().replace("|",":"));
synchronized(bait) {
if(sPerms == null) {
sPerms = new ArrayList<String>();
for(org.onap.aaf.cadi.Permission p : pond) {
sPerms.add(p.getKey().replace("|",":"));
-// System.out.println("Replacing | to :" + p.getKey().replace("|",":"));
+ logger.info("the user has " +p.getKey());
+
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import org.apache.shiro.subject.PrincipalCollection;
public class AAFPrincipalCollection implements PrincipalCollection {
import org.apache.shiro.subject.PrincipalCollection;
public class AAFPrincipalCollection implements PrincipalCollection {
private static final long serialVersionUID = 558246013419818831L;
private static final long serialVersionUID = 558246013419818831L;
+ private static final Logger logger = LoggerFactory.getLogger(AAFPrincipalCollection.class);
private static final Set<String> realmSet;
private final Principal principal;
private List<Principal> list=null;
private static final Set<String> realmSet;
private final Principal principal;
private List<Principal> list=null;
public AAFPrincipalCollection(Principal p) {
principal = p;
public AAFPrincipalCollection(Principal p) {
principal = p;
}
public AAFPrincipalCollection(final String principalName) {
}
public AAFPrincipalCollection(final String principalName) {
import java.util.Map.Entry;
import java.util.TreeMap;
import java.util.Map.Entry;
import java.util.TreeMap;
import org.apache.log4j.PropertyConfigurator;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
import org.apache.log4j.PropertyConfigurator;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.AuthenticationInfo;
public class AAFRealm extends AuthorizingRealm {
public class AAFRealm extends AuthorizingRealm {
- final static Logger logger = LoggerFactory.getLogger(AAFRealm.class);
+ final static Logger logger = LoggerFactory.getLogger(AAFRealm.class);
public static final String AAF_REALM = "AAFRealm";
public static final String AAF_REALM = "AAFRealm";
String cadi_prop_files = access.getProperty(Config.CADI_PROP_FILES);
if(cadi_prop_files==null) {
String msg = Config.CADI_PROP_FILES + " in VM Args is required to initialize AAFRealm.";
String cadi_prop_files = access.getProperty(Config.CADI_PROP_FILES);
if(cadi_prop_files==null) {
String msg = Config.CADI_PROP_FILES + " in VM Args is required to initialize AAFRealm.";
- access.log(Level.DEBUG,msg);
throw new RuntimeException(msg);
} else {
throw new RuntimeException(msg);
} else {
- try {
- String log4jConfigFile = "./etc/org.ops4j.pax.logging.cfg";
-
- PropertyConfigurator.configure(log4jConfigFile);
- System.setOut(createLoggingProxy(System.out));
- System.setErr(createLoggingProxy(System.err));
- } catch(Exception e) {
- e.printStackTrace();
- }
- //System.out.println("Configuration done");
try {
acon = AAFCon.newInstance(access);
authn = acon.newAuthn();
authz = acon.newLur(authn);
try {
acon = AAFCon.newInstance(access);
authn = acon.newAuthn();
authz = acon.newLur(authn);
final String csv = access.getProperty(Config.CADI_BATH_CONVERT);
if(csv!=null) {
try {
final String csv = access.getProperty(Config.CADI_BATH_CONVERT);
if(csv!=null) {
try {
}
}
idMap.put(oldID,newID);
}
}
idMap.put(oldID,newID);
}
} catch (IOException e) {
}
} catch (IOException e) {
+ logger.info(e.getMessage(), e);
}
}
} catch (APIException | CadiException | LocatorException e) {
String msg = "Cannot initiate AAFRealm";
}
}
} catch (APIException | CadiException | LocatorException e) {
String msg = "Cannot initiate AAFRealm";
- access.log(Level.INIT,msg,e.getMessage());
+ logger.info(msg + " "+ e.getMessage(), e);
throw new RuntimeException(msg,e);
}
}
supports = new HashSet<Class<? extends AuthenticationToken>>();
supports.add(UsernamePasswordToken.class);
}
throw new RuntimeException(msg,e);
}
}
supports = new HashSet<Class<? extends AuthenticationToken>>();
supports.add(UsernamePasswordToken.class);
}
- public static PrintStream createLoggingProxy(final PrintStream realPrintStream) {
- return new PrintStream(realPrintStream) {
- public void print(final String string) {
- realPrintStream.print(string);
- logger.info(string);
- }
- };
- }
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
@Override
protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) throws AuthenticationException {
+ logger.info("AAFRealm.doGetAuthenticationInfo :"+token);
final UsernamePasswordToken upt = (UsernamePasswordToken)token;
final String user = upt.getUsername();
String authUser = user;
final String password=new String(upt.getPassword());
String authPassword = password;
final UsernamePasswordToken upt = (UsernamePasswordToken)token;
final String user = upt.getUsername();
String authUser = user;
final String password=new String(upt.getPassword());
String authPassword = password;
final String oldBath = "Basic " + Symm.base64noSplit.encode(user+':'+password);
String bath = mbc.convert(access, oldBath);
if(bath!=oldBath) {
final String oldBath = "Basic " + Symm.base64noSplit.encode(user+':'+password);
String bath = mbc.convert(access, oldBath);
if(bath!=oldBath) {
if(colon>=0) {
authUser = bath.substring(0, colon);
authPassword = bath.substring(colon+1);
if(colon>=0) {
authUser = bath.substring(0, colon);
authPassword = bath.substring(colon+1);
- access.log(Level.DEBUG, authUser,"user authenticated");
- access.log(Level.DEBUG, authn.validate(authUser,authPassword));
}
}
} catch (IOException e) {
}
}
} catch (IOException e) {
+
+ logger.info(e.getMessage(), e);
+
err = authn.validate(authUser,authPassword);
} catch (IOException e) {
err = "Credential cannot be validated";
err = authn.validate(authUser,authPassword);
} catch (IOException e) {
err = "Credential cannot be validated";
- access.log(Level.DEBUG, e, err);
+ logger.info(e.getMessage(), e);
- access.log(Level.DEBUG, err, " - Credential cannot be validated");
throw new AuthenticationException(err);
}
throw new AuthenticationException(err);
}
}
@Override
protected void assertCredentialsMatch(AuthenticationToken atoken, AuthenticationInfo ai)throws AuthenticationException {
}
@Override
protected void assertCredentialsMatch(AuthenticationToken atoken, AuthenticationInfo ai)throws AuthenticationException {
if(ai instanceof AAFAuthenticationInfo) {
if(!((AAFAuthenticationInfo)ai).matches(atoken)) {
throw new AuthenticationException("Credentials do not match");
if(ai instanceof AAFAuthenticationInfo) {
if(!((AAFAuthenticationInfo)ai).matches(atoken)) {
throw new AuthenticationException("Credentials do not match");
} else {
throw new AuthenticationException("AuthenticationInfo is not an AAFAuthenticationInfo");
} else {
throw new AuthenticationException("AuthenticationInfo is not an AAFAuthenticationInfo");
@Override
protected AAFAuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
Principal bait = (Principal)principals.getPrimaryPrincipal();
Principal newBait = bait;
if(idMap!=null) {
final String newID = idMap.get(bait.getName());
@Override
protected AAFAuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
Principal bait = (Principal)principals.getPrimaryPrincipal();
Principal newBait = bait;
if(idMap!=null) {
final String newID = idMap.get(bait.getName());
+ logger.info("Successful authentication attempt by " +bait.getName());
if(newID!=null) {
newBait = new Principal() {
@Override
if(newID!=null) {
newBait = new Principal() {
@Override
<parent>
<groupId>org.onap.aaf.cadi.sidecar</groupId>
<artifactId>sidecar</artifactId>
<parent>
<groupId>org.onap.aaf.cadi.sidecar</groupId>
<artifactId>sidecar</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
</parent>
<artifactId>fproxy</artifactId>
</parent>
<artifactId>fproxy</artifactId>
<parent>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
<parent>
<groupId>org.onap.aaf.cadi</groupId>
<artifactId>parent</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<relativePath>..</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.onap.aaf.cadi.sidecar</groupId>
<artifactId>sidecar</artifactId>
<parent>
<groupId>org.onap.aaf.cadi.sidecar</groupId>
<artifactId>sidecar</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
</parent>
<artifactId>rproxy</artifactId>
</parent>
<artifactId>rproxy</artifactId>
<parent>
<groupId>org.onap.aaf.cadi.sidecar</groupId>
<artifactId>sidecar</artifactId>
<parent>
<groupId>org.onap.aaf.cadi.sidecar</groupId>
<artifactId>sidecar</artifactId>
- <version>2.1.11-SNAPSHOT</version>
+ <version>2.1.12-SNAPSHOT</version>
</parent>
<artifactId>tproxy-config</artifactId>
</parent>
<artifactId>tproxy-config</artifactId>
base_version=${major}.${minor}.${patch}
base_version=${major}.${minor}.${patch}