NIHVIVO-1568 NIHVIVO-1645 roll back the changes from r6909
This commit is contained in:
parent
a6adc5163d
commit
7874d600b9
2 changed files with 15 additions and 40 deletions
|
@ -89,8 +89,9 @@ public class Authenticate extends VitroHttpServlet {
|
||||||
VitroRequest vreq = new VitroRequest(request);
|
VitroRequest vreq = new VitroRequest(request);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
restartTheProcessIfAppropriate(vreq);
|
if (loginProcessPagesAreEmpty(vreq)) {
|
||||||
recordLoginProcessPages(vreq);
|
recordLoginProcessPages(vreq);
|
||||||
|
}
|
||||||
|
|
||||||
// Where do we stand in the process?
|
// Where do we stand in the process?
|
||||||
State entryState = getCurrentLoginState(vreq);
|
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) {
|
private boolean loginProcessPagesAreEmpty(HttpServletRequest request) {
|
||||||
String afterLoginUrl = decodeAfterLoginParameter(request);
|
LoginProcessBean bean = LoginProcessBean.getBean(request);
|
||||||
boolean doReturn = isReturnParameterSet(request);
|
return ((bean.getAfterLoginUrl() == null) && (bean.getLoginPageUrl() == null));
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -178,8 +153,7 @@ public class Authenticate extends VitroHttpServlet {
|
||||||
* If they supply a return flag, record the current page as the after-login
|
* If they supply a return flag, record the current page as the after-login
|
||||||
* page and use the Login page for the process.
|
* page and use the Login page for the process.
|
||||||
*
|
*
|
||||||
* Otherwise, use the current page for the process (unless the process has
|
* Otherwise, use the current page for the process.
|
||||||
* already been set).
|
|
||||||
*
|
*
|
||||||
* The "current page" is the referrer, unless there is no referrer for some
|
* The "current page" is the referrer, unless there is no referrer for some
|
||||||
* reason. In that case, pretend it's the login page.
|
* reason. In that case, pretend it's the login page.
|
||||||
|
@ -198,12 +172,8 @@ public class Authenticate extends VitroHttpServlet {
|
||||||
bean.setAfterLoginUrl(referrer);
|
bean.setAfterLoginUrl(referrer);
|
||||||
bean.setLoginPageUrl(request.getContextPath() + Controllers.LOGIN);
|
bean.setLoginPageUrl(request.getContextPath() + Controllers.LOGIN);
|
||||||
} else {
|
} else {
|
||||||
if (bean.getAfterLoginUrl() == null) {
|
bean.setAfterLoginUrl(referrer);
|
||||||
bean.setAfterLoginUrl(referrer);
|
bean.setLoginPageUrl(referrer);
|
||||||
}
|
|
||||||
if (bean.getLoginPageUrl() == null) {
|
|
||||||
bean.setLoginPageUrl(referrer);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -212,6 +212,7 @@ public class AuthenticateTest extends AbstractTestClass {
|
||||||
// ----------------------------------------------------------------------
|
// ----------------------------------------------------------------------
|
||||||
|
|
||||||
/** The "return" parameter is set, so we detect the restart. */
|
/** The "return" parameter is set, so we detect the restart. */
|
||||||
|
@Ignore
|
||||||
@Test
|
@Test
|
||||||
public void restartFromALoginLink() {
|
public void restartFromALoginLink() {
|
||||||
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
||||||
|
@ -219,6 +220,7 @@ public class AuthenticateTest extends AbstractTestClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The "return" parameter is set, so we detect the restart. */
|
/** The "return" parameter is set, so we detect the restart. */
|
||||||
|
@Ignore
|
||||||
@Test
|
@Test
|
||||||
public void restartFromABookmarkOfTheLoginLink() {
|
public void restartFromABookmarkOfTheLoginLink() {
|
||||||
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
||||||
|
@ -226,6 +228,7 @@ public class AuthenticateTest extends AbstractTestClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The "afterLoginUrl" parameter is set, so we detect the restart. */
|
/** The "afterLoginUrl" parameter is set, so we detect the restart. */
|
||||||
|
@Ignore
|
||||||
@Test
|
@Test
|
||||||
public void restartFromARestrictedPage() {
|
public void restartFromARestrictedPage() {
|
||||||
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
||||||
|
@ -233,6 +236,7 @@ public class AuthenticateTest extends AbstractTestClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The referrer is not the loginProcessPage, so we detect the restart. */
|
/** The referrer is not the loginProcessPage, so we detect the restart. */
|
||||||
|
@Ignore
|
||||||
@Test
|
@Test
|
||||||
public void restartFromADifferentWidgetPage() {
|
public void restartFromADifferentWidgetPage() {
|
||||||
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
setProcessBean(LOGGING_IN, "username", URL_LOGIN, URL_SOMEWHERE_ELSE);
|
||||||
|
@ -240,6 +244,7 @@ public class AuthenticateTest extends AbstractTestClass {
|
||||||
}
|
}
|
||||||
|
|
||||||
/** The referrer is not the loginProcessPage, so we detect the restart. */
|
/** The referrer is not the loginProcessPage, so we detect the restart. */
|
||||||
|
@Ignore
|
||||||
@Test
|
@Test
|
||||||
public void restartFromTheLoginPageWhenWeWereUsingAWidgetPage() {
|
public void restartFromTheLoginPageWhenWeWereUsingAWidgetPage() {
|
||||||
setProcessBean(LOGGING_IN, "username", URL_SOMEWHERE_ELSE,
|
setProcessBean(LOGGING_IN, "username", URL_SOMEWHERE_ELSE,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue