More changes as a result of project code review.
This commit is contained in:
@@ -39,9 +39,9 @@ import javax.security.auth.spi.LoginModule;
|
||||
import com.novell.casa.authtoksvc.AuthToken;
|
||||
import com.novell.casa.authtoksvc.CasaIdentityToken;
|
||||
|
||||
/*
|
||||
/**
|
||||
* CasaLoginModule Class.
|
||||
*
|
||||
* <p>
|
||||
* This class implements a LoginModule which performs
|
||||
* authentication via the Casa Authentication Token
|
||||
* infrastructure.
|
||||
@@ -57,8 +57,10 @@ public final class CasaLoginModule implements LoginModule
|
||||
private Map m_sharedState = null;
|
||||
private Map m_options = null;
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
/**
|
||||
* Aborts the subject authentication operation.
|
||||
*
|
||||
* @throws LoginException
|
||||
* @see javax.security.auth.spi.LoginModule#abort()
|
||||
*/
|
||||
public boolean abort() throws LoginException
|
||||
@@ -73,8 +75,10 @@ public final class CasaLoginModule implements LoginModule
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
/**
|
||||
* Commit the results of the subject authentication operation.
|
||||
*
|
||||
* @throws LoginException
|
||||
* @see javax.security.auth.spi.LoginModule#commit()
|
||||
*/
|
||||
public boolean commit() throws LoginException
|
||||
@@ -104,8 +108,10 @@ public final class CasaLoginModule implements LoginModule
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
/**
|
||||
* Authenticate subject.
|
||||
*
|
||||
* @throws LoginException
|
||||
* @see javax.security.auth.spi.LoginModule#login()
|
||||
*/
|
||||
public boolean login() throws LoginException
|
||||
@@ -120,7 +126,7 @@ public final class CasaLoginModule implements LoginModule
|
||||
// Do not perform the username check unless configured to do it.
|
||||
boolean performUsernameCheck = false;
|
||||
if (m_options != null
|
||||
&& m_options.containsKey((String) "PerformUsernameCheck") == true)
|
||||
&& m_options.containsKey("PerformUsernameCheck") == true)
|
||||
{
|
||||
String keyVal = (String) m_options.get("PerformUsernameCheck");
|
||||
if (keyVal != null && keyVal.equals("true"))
|
||||
@@ -211,18 +217,18 @@ public final class CasaLoginModule implements LoginModule
|
||||
else
|
||||
{
|
||||
// Token not provided
|
||||
// tbd - Log
|
||||
System.err.println("CasaLoginModule.login()- Token not provided");
|
||||
throw new FailedLoginException("CasaAuthenticationToken not obtained");
|
||||
}
|
||||
|
||||
// User validated
|
||||
// tbd - Log
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
/**
|
||||
* Logout subject.
|
||||
*
|
||||
* @throws LoginException
|
||||
* @see javax.security.auth.spi.LoginModule#logout()
|
||||
*/
|
||||
public boolean logout() throws LoginException
|
||||
@@ -230,7 +236,7 @@ public final class CasaLoginModule implements LoginModule
|
||||
// Check if we must try to remove our principal
|
||||
// from the associated subject.
|
||||
if (m_principal != null
|
||||
&& m_subject.isReadOnly() == false)
|
||||
&& m_subject.isReadOnly() == false)
|
||||
{
|
||||
Set principalSet = m_subject.getPrincipals();
|
||||
principalSet.remove(m_principal);
|
||||
@@ -238,15 +244,19 @@ public final class CasaLoginModule implements LoginModule
|
||||
return true;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
/**
|
||||
* Initialize CasaLoginModule instance.
|
||||
*
|
||||
* @param subject The subject to be authenticated.
|
||||
* @param callbackHandler Callback handler for communicating with end-user.
|
||||
* @param sharedState State shared between login modules.
|
||||
* @param options Module configuration options.
|
||||
* @see javax.security.auth.spi.LoginModule#initialize(javax.security.auth.Subject, javax.security.auth.callback.CallbackHandler, java.util.Map, java.util.Map)
|
||||
*/
|
||||
public void initialize(
|
||||
Subject subject,
|
||||
CallbackHandler callbackHandler,
|
||||
Map sharedState,
|
||||
Map options)
|
||||
public void initialize(Subject subject,
|
||||
CallbackHandler callbackHandler,
|
||||
Map sharedState,
|
||||
Map options)
|
||||
{
|
||||
// Save the input parameters for later use
|
||||
m_subject = subject;
|
||||
|
||||
@@ -139,7 +139,7 @@ public final class SampleApp
|
||||
else
|
||||
{
|
||||
// The attribute value is contained in a string
|
||||
System.out.println(" :: Attribute Value: " + (String) attrValue);
|
||||
System.out.println(" :: Attribute Value: " + attrValue);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -60,8 +60,7 @@ public final class SampleAppCallbackHandler implements CallbackHandler
|
||||
|
||||
// Remove the null terminator
|
||||
char[] tokenChars = new char[allChars.length - 1];
|
||||
for (int ii = 0; ii < tokenChars.length; ii++)
|
||||
tokenChars[ii] = allChars[ii];
|
||||
System.arraycopy(allChars, 0, tokenChars, 0, tokenChars.length);
|
||||
pc.setPassword(tokenChars);
|
||||
} else {
|
||||
throw new UnsupportedCallbackException(callbacks[i], "Unrecognized Callback");
|
||||
|
||||
Reference in New Issue
Block a user