NIHVIVO-2279 Start transitioning toward UserAccount
This commit is contained in:
parent
d113061b91
commit
dbf7f5b809
2 changed files with 45 additions and 27 deletions
|
@ -2,12 +2,17 @@
|
|||
|
||||
package edu.cornell.mannlib.vedit.beans;
|
||||
|
||||
import javax.servlet.ServletContext;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpSession;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.User;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.UserDao;
|
||||
import edu.cornell.mannlib.vitro.webapp.dao.WebappDaoFactory;
|
||||
|
||||
/**
|
||||
* An immutable object that records the user's login info as a session
|
||||
* attribute.
|
||||
|
@ -91,6 +96,33 @@ public class LoginStatusBean {
|
|||
return (LoginStatusBean) o;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current user, or null if not logged in.
|
||||
*/
|
||||
public static User getCurrentUser(HttpServletRequest request) {
|
||||
if (request == null) {
|
||||
return null;
|
||||
}
|
||||
return getCurrentUser(request.getSession(false));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the current user, or null if not logged in.
|
||||
*/
|
||||
public static User getCurrentUser(HttpSession session) {
|
||||
if (session == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
ServletContext ctx = session.getServletContext();
|
||||
WebappDaoFactory wadf = (WebappDaoFactory) ctx
|
||||
.getAttribute("webappDaoFactory");
|
||||
UserDao userDao = wadf.getUserDao();
|
||||
|
||||
String userUri = getBean(session).getUserURI();
|
||||
return userDao.getUserByURI(userUri);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
// the bean
|
||||
// ----------------------------------------------------------------------
|
||||
|
@ -129,7 +161,7 @@ public class LoginStatusBean {
|
|||
}
|
||||
|
||||
public boolean isLoggedIn() {
|
||||
return securityLevel > ANYBODY;
|
||||
return authenticationSource != AuthenticationSource.UNKNOWN;
|
||||
}
|
||||
|
||||
public boolean isLoggedInExactly(int level) {
|
||||
|
|
|
@ -2,48 +2,34 @@
|
|||
|
||||
package edu.cornell.mannlib.vitro.webapp.web.templatemodels;
|
||||
|
||||
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.policy.PolicyHelper;
|
||||
import edu.cornell.mannlib.vitro.webapp.beans.ApplicationBean;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.VitroRequest;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.RevisionInfoController;
|
||||
import edu.cornell.mannlib.vitro.webapp.controller.freemarker.SiteAdminController;
|
||||
|
||||
public class User extends BaseTemplateModel {
|
||||
private final VitroRequest vreq;
|
||||
|
||||
private static final Log log = LogFactory.getLog(User.class);
|
||||
|
||||
private enum Access {
|
||||
FILTER_SECURITY(LoginStatusBean.EDITOR);
|
||||
|
||||
private final int requiredLoginLevel;
|
||||
|
||||
Access(int requiredLoginLevel) {
|
||||
this.requiredLoginLevel = requiredLoginLevel;
|
||||
}
|
||||
|
||||
int requiredLoginLevel() {
|
||||
return this.requiredLoginLevel;
|
||||
}
|
||||
}
|
||||
|
||||
private LoginStatusBean loginBean = null;
|
||||
private VitroRequest vreq = null;
|
||||
// TODO JB Modify this to use UserAccount instead of User.
|
||||
private final edu.cornell.mannlib.vitro.webapp.beans.User currentUser;
|
||||
|
||||
public User(VitroRequest vreq) {
|
||||
this.vreq = vreq;
|
||||
loginBean = LoginStatusBean.getBean(vreq);
|
||||
this.currentUser = LoginStatusBean.getCurrentUser(vreq);
|
||||
}
|
||||
|
||||
public boolean isLoggedIn() {
|
||||
return loginBean.isLoggedIn();
|
||||
return currentUser != null;
|
||||
}
|
||||
|
||||
public String getEmailAddress() {
|
||||
return (currentUser == null) ? "" : currentUser.getUsername();
|
||||
}
|
||||
|
||||
public String getLoginName() {
|
||||
return loginBean.getUsername();
|
||||
return (currentUser == null) ? ""
|
||||
: (currentUser.getFirstName() + " " + currentUser.getLastName());
|
||||
}
|
||||
|
||||
public boolean getHasSiteAdminAccess() {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue