Index: lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java =================================================================== RCS file: /usr/local/cvsroot/lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java,v diff -u -r1.21.2.7 -r1.21.2.8 --- lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 19 May 2015 03:10:24 -0000 1.21.2.7 +++ lams_central/src/java/org/lamsfoundation/lams/web/LoginRequestServlet.java 4 Aug 2015 21:04:54 -0000 1.21.2.8 @@ -136,7 +136,10 @@ String login = user.getLogin(); UserDTO loggedInUserDTO = (UserDTO) hses.getAttribute(AttributeNames.USER); String loggedInLogin = loggedInUserDTO == null ? null : loggedInUserDTO.getLogin(); - if ((loggedInLogin != null) && loggedInLogin.equals(login)) { + // for checking if requested role is the same as already assigned + String role = method.equals(LoginRequestDispatcher.METHOD_LEARNER_STRICT_AUTHENTICATION) + ? LoginRequestDispatcher.METHOD_LEARNER : method; + if ((loggedInLogin != null) && loggedInLogin.equals(login) && request.isUserInRole(role)) { String url = LoginRequestDispatcher.getRequestURL(request); response.sendRedirect(response.encodeRedirectURL(url)); return;