NIHVIVO-2690 Root user should not receive the "no profile" message.

This commit is contained in:
j2blake 2011-06-16 13:57:11 +00:00
parent cd099505a6
commit 1ffe229a30
5 changed files with 26 additions and 8 deletions

View file

@ -96,8 +96,9 @@ public abstract class Authenticator {
* <pre>
* Record that the user has logged in, with all of the housekeeping that
* goes with it:
* - updating the user record
* - setting login status and timeout limit in the session
* - update the user record
* - set login status and timeout limit in the session
* - refresh the Identifiers on the request
* - record the user in the session map
* - notify other users of the model
* </pre>

View file

@ -15,6 +15,7 @@ import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean.AuthenticationSource;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.RequestIdentifiers;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.beans.Individual;
import edu.cornell.mannlib.vitro.webapp.beans.SelfEditingConfiguration;
@ -125,6 +126,7 @@ public class BasicAuthenticator extends Authenticator {
HttpSession session = request.getSession();
createLoginStatusBean(userAccount.getUri(), authSource, session);
RequestIdentifiers.resetIdentifiers(request);
setSessionTimeoutLimit(userAccount, session);
recordInUserSessionMap(userAccount.getUri(), session);
notifyOtherUsers(userAccount.getUri(), session);

View file

@ -16,6 +16,10 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import edu.cornell.mannlib.vedit.beans.LoginStatusBean;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.IdentifierBundle;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.RequestIdentifiers;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.HasRoleLevel;
import edu.cornell.mannlib.vitro.webapp.auth.identifier.common.IsRootUser;
import edu.cornell.mannlib.vitro.webapp.beans.BaseResourceBean.RoleLevel;
import edu.cornell.mannlib.vitro.webapp.beans.DisplayMessage;
import edu.cornell.mannlib.vitro.webapp.beans.UserAccount;
@ -152,7 +156,12 @@ public class LoginRedirector {
}
private boolean isMerelySelfEditor() {
RoleLevel role = RoleLevel.getRoleFromLoginStatus(request);
IdentifierBundle ids = RequestIdentifiers.getIdBundleForRequest(request);
if (IsRootUser.isRootUser(ids)) {
return false;
}
RoleLevel role = HasRoleLevel.getUsersRoleLevel(ids);
return role == RoleLevel.PUBLIC || role == RoleLevel.SELF;
}