%@ include file="/common/taglibs.jsp"%>
<%@page import="org.springframework.web.context.request.SessionScope"%>
<%@ page import="org.lamsfoundation.lams.util.Configuration"%>
<%@ page import="org.lamsfoundation.lams.util.ConfigurationKeys"%>
<%@ page import="org.lamsfoundation.lams.web.session.SessionManager"%>
<%@ page import="org.lamsfoundation.lams.usermanagement.dto.UserDTO"%>
<%=Configuration.get(ConfigurationKeys.FORGOT_YOUR_PASSWORD_LINK_ENABLE)%>
<%-- If login param is empty, this is a regular, manual login page.
Otherwise it is a just an almost empty redirect page for integrations and LoginAs authentication.
--%>
<%-- Optional Module Placeholder - do not remove --%>
<%-- This is version for integrations and LoginAs authentication. --%>
<%
// invalidate session so a new user can be logged in
HttpSession hs = SessionManager.getSession();
Boolean isSignup = false;
if (hs != null) {
UserDTO userDTO = null;
try {
userDTO = (UserDTO) hs.getAttribute("user");
} catch (Exception e) {
// something is wrong, so try to invalidate the session
try {
hs.invalidate();
} catch (Exception e1){
// do nothing if invalidation fails
}
}
if (userDTO != null && !userDTO.getLogin().equals(request.getAttribute("login"))) {
isSignup = (Boolean) hs.getAttribute("isSignup");
// remove session from mapping
SessionManager.removeSessionByLogin(userDTO.getLogin(), true);
// tell SsoHandler about some previous session settings
hs = request.getSession();
hs.setAttribute("isSignup", isSignup);
hs.setAttribute("isLoginAs", request.getAttribute("isLoginAs"));
}
}
hs = request.getSession();
hs.setAttribute("isIntegrationLogin", isSignup == null || !isSignup);
%>