Skip to content

Commit

Permalink
get pre-authentication config from Yanel instance
Browse files Browse the repository at this point in the history
  • Loading branch information
michaelwechner committed Dec 29, 2015
1 parent c8574b0 commit 765030f
Showing 1 changed file with 19 additions and 15 deletions.
34 changes: 19 additions & 15 deletions src/webapp/src/java/org/wyona/yanel/servlet/YanelServlet.java
Expand Up @@ -1921,22 +1921,26 @@ private Identity getIdentityFromRequest(HttpServletRequest request, Realm realm)
return identity;
}

String preAuthReqHeaderName = "COLOS_REMOTE_USER"; // TODO: For example from login resource: getResourceConfigProperty("pre-auth-request-header");
if (preAuthReqHeaderName != null && request.getHeader(preAuthReqHeaderName) != null) {
String preAuthUserName = request.getHeader(preAuthReqHeaderName);
log.warn("DEBUG: Pre authenticated user: " + preAuthUserName);
String trueID = realm.getIdentityManager().getUserManager().getTrueId(preAuthUserName);
User user = realm.getIdentityManager().getUserManager().getUser(trueID);
if (user != null) {
log.debug("User '" + user.getID() + "' considered pre-authenticated.");
identity = new Identity(user, preAuthUserName);
setIdentity(identity, request.getSession(true), realm);
return identity;
if (yanelInstance.isPreAuthenticationEnabled()) {
String preAuthReqHeaderName = yanelInstance.getPreAuthenticationRequestHeaderName();
if (preAuthReqHeaderName != null && request.getHeader(preAuthReqHeaderName) != null) {
String preAuthUserName = request.getHeader(preAuthReqHeaderName);
log.warn("DEBUG: Pre authenticated user: " + preAuthUserName);
String trueID = realm.getIdentityManager().getUserManager().getTrueId(preAuthUserName);
User user = realm.getIdentityManager().getUserManager().getUser(trueID);
if (user != null) {
log.debug("User '" + user.getID() + "' considered pre-authenticated.");
identity = new Identity(user, preAuthUserName);
setIdentity(identity, request.getSession(true), realm);
return identity;
} else {
log.warn("No such pre-authenticated user '" + preAuthUserName + "', hence set identity to WORLD!");
identity = new Identity();
setIdentity(identity, request.getSession(true), realm);
return identity;
}
} else {
log.warn("No such pre-authenticated user '" + preAuthUserName + "', hence set identity to WORLD!");
identity = new Identity();
setIdentity(identity, request.getSession(true), realm);
return identity;
log.warn("Pre-authentication enabled, but no request header name set!");
}
}

Expand Down

0 comments on commit 765030f

Please sign in to comment.