use of com.iplanet.sso.SSOTokenManager in project OpenAM by OpenRock.
the class AuthClientUtils method getExistingValidSSOToken.
// Get Original Redirect URL for Auth to redirect the Login request
public static SSOToken getExistingValidSSOToken(SessionID sessID) {
SSOToken ssoToken = null;
try {
if (sessID != null) {
String sidString = sessID.toString();
SSOTokenManager manager = SSOTokenManager.getInstance();
SSOToken currentToken = manager.createSSOToken(sidString);
if (manager.isValidToken(currentToken)) {
ssoToken = currentToken;
}
}
} catch (Exception e) {
if (utilDebug.messageEnabled()) {
utilDebug.message("Error in getExistingValidSSOToken", e);
}
return ssoToken;
}
return ssoToken;
}
use of com.iplanet.sso.SSOTokenManager in project OpenAM by OpenRock.
the class AuthClientUtils method getOrigRedirectURL.
// Get Original Redirect URL for Auth to redirect the Login request
public static String getOrigRedirectURL(HttpServletRequest request, SessionID sessID) {
try {
String sidString = null;
if (sessID != null) {
sidString = sessID.toString();
}
SSOTokenManager manager = SSOTokenManager.getInstance();
SSOToken ssoToken = manager.createSSOToken(sidString);
if (manager.isValidToken(ssoToken)) {
utilDebug.message("Valid SSOToken");
return REDIRECT_URL_VALIDATOR.getRedirectUrl(ssoToken.getProperty(ISAuthConstants.ORGANIZATION), REDIRECT_URL_VALIDATOR.getAndDecodeParameter(request, RedirectUrlValidator.GOTO), ssoToken.getProperty("successURL"));
}
} catch (Exception e) {
if (utilDebug.messageEnabled()) {
utilDebug.message("Error in getOrigRedirectURL:", e);
}
return null;
}
return null;
}
use of com.iplanet.sso.SSOTokenManager in project OpenAM by OpenRock.
the class ISAuthorizer method isAuthorized.
/**
* Returns <code>true</code> if a given log record should be published.
*
* @param logName Log name on which operation is to be performed.
* @param operation The log operation to be performed.
* @param credential The credential to be authorized.
* @return <code>true</code> if the credential is authorized.
*/
public boolean isAuthorized(String logName, String operation, Object credential) {
SSOToken ssoToken = null;
if (credential instanceof SSOToken) {
ssoToken = (SSOToken) credential;
}
if (ssoToken == null) {
Debug.error("ISAuthorizer.isAuthorized(): SSO Token is null ");
return false;
}
try {
String tmpID = ssoToken.getPrincipal().getName();
if (Debug.messageEnabled()) {
Debug.message("ISAuthorizer.isAuthorized():logName = " + logName + ", op = " + operation + ", uid = " + tmpID);
}
String thisSubConfig = "LogWrite";
if (operation.equalsIgnoreCase("READ")) {
thisSubConfig = "LogRead";
}
SSOTokenManager ssoMgr = SSOTokenManager.getInstance();
if (ssoMgr.isValidToken(ssoToken)) {
Map tmap = new HashMap();
Set actSet;
actSet = Collections.singleton(operation);
try {
String amRealm = ssoToken.getProperty(Constants.ORGANIZATION);
DelegationPermission dp = new // realm
DelegationPermission(// realm
amRealm, // service name
"iPlanetAMLoggingService", // version
"1.0", // config type
"application", // subConfig name
thisSubConfig, // actions
actSet, // extensions
tmap);
DelegationEvaluator de = new DelegationEvaluatorImpl();
if (de.isAllowed(ssoToken, dp, null)) {
return true;
} else {
Debug.error(logName + ":ISAuthorizer.isAuthorized():log rqt to " + operation + " by " + tmpID + " denied.");
}
} catch (DelegationException dex) {
String loggedByID = ssoToken.getPrincipal().getName();
Debug.error("ISAuthorizer.isAuthorized():delegation error: " + "user: " + loggedByID + ", logName = " + logName + ", op = " + operation + ", msg = " + dex.getMessage());
}
} else {
String loggedByID = ssoToken.getPrincipal().getName();
Debug.error("ISAuthorizer.isAuthorized(): access denied " + "for user : " + loggedByID);
}
} catch (SSOException ssoe) {
Debug.error("ISAuthorizer.isAuthorized(): SSOException: ", ssoe);
}
return false;
}
Aggregations