NIHVIVO-1568 NIHVIVO-1645 roll back the changes from r6909

This commit is contained in:
jeb228 2011-01-11 20:57:49 +00:00
parent a6adc5163d
commit 7874d600b9
2 changed files with 15 additions and 40 deletions

View file

@ -89,8 +89,9 @@ public class Authenticate extends VitroHttpServlet {
VitroRequest vreq = new VitroRequest(request);
try {
restartTheProcessIfAppropriate(vreq);
recordLoginProcessPages(vreq);
if (loginProcessPagesAreEmpty(vreq)) {
recordLoginProcessPages(vreq);
}
// Where do we stand in the process?
State entryState = getCurrentLoginState(vreq);
@ -138,37 +139,11 @@ public class Authenticate extends VitroHttpServlet {
}
/**
* Try to detect if they are re-starting the login process.
* Once these URLs have been set, don't change them.
*/
private void restartTheProcessIfAppropriate(HttpServletRequest request) {
String afterLoginUrl = decodeAfterLoginParameter(request);
boolean doReturn = isReturnParameterSet(request);
String referrer = whereDidWeComeFrom(request);
/*
* If they have navigated to a restricted page, restart the process.
*/
if (afterLoginUrl != null) {
LoginProcessBean.removeBean(request);
}
/*
* If they have used a login link, restart the process.
*/
if (doReturn) {
LoginProcessBean.removeBean(request);
}
/*
* If they are using a login widget that is not the one they were
* previously using, restart the process.
*/
if (LoginProcessBean.isBean(request)) {
LoginProcessBean bean = LoginProcessBean.getBean(request);
if (!referrer.equals(bean.getLoginPageUrl())) {
LoginProcessBean.removeBean(request);
}
}
private boolean loginProcessPagesAreEmpty(HttpServletRequest request) {
LoginProcessBean bean = LoginProcessBean.getBean(request);
return ((bean.getAfterLoginUrl() == null) && (bean.getLoginPageUrl() == null));
}
/**
@ -178,8 +153,7 @@ public class Authenticate extends VitroHttpServlet {
* If they supply a return flag, record the current page as the after-login
* page and use the Login page for the process.
*
* Otherwise, use the current page for the process (unless the process has
* already been set).
* Otherwise, use the current page for the process.
*
* The "current page" is the referrer, unless there is no referrer for some
* reason. In that case, pretend it's the login page.
@ -198,12 +172,8 @@ public class Authenticate extends VitroHttpServlet {
bean.setAfterLoginUrl(referrer);
bean.setLoginPageUrl(request.getContextPath() + Controllers.LOGIN);
} else {
if (bean.getAfterLoginUrl() == null) {
bean.setAfterLoginUrl(referrer);
}
if (bean.getLoginPageUrl() == null) {
bean.setLoginPageUrl(referrer);
}
bean.setAfterLoginUrl(referrer);
bean.setLoginPageUrl(referrer);
}
}