1 <%@ page import="org.wso2.carbon.context.CarbonContext" %> 2 <%@ page import="org.wso2.carbon.user.api.UserRealm" %> 3 <%@ page import="org.wso2.carbon.user.api.UserStoreException" %> 4 <%@ page import="java.util.List"%> 5 <%@ page import="java.util.Arrays"%> 6 <% 7 String username = request.getParameter("username"); 8 String password = request.getParameter("password"); 9 String role = request.getParameter("role"); 10 boolean status = false; 11 12 try { 13 CarbonContext context = CarbonContext.getThreadLocalCarbonContext(); 14 UserRealm realm = context.getUserRealm(); 15 if(role == null){ 16 if (username != null && username.trim().length() > 0) { 17 status = realm.getUserStoreManager().authenticate(username, password); 18 } 19 } else { 20 if (username != null && username.trim().length() > 0) { 21 status = Arrays.asList(realm.getUserStoreManager().getRoleListOfUser(username)).contains(role); 22 } 23 } 24 } catch (UserStoreException e) { 25 e.printStackTrace(); 26 } 27 28 if (status) { 29 session.setAttribute("logged-in", "true"); 30 session.setAttribute("username", username); 31 if(role != null){ 32 session.setAttribute("logged-in-with-role", "true"); 33 } 34 response.sendRedirect("index.jsp"); 35 } else { 36 session.invalidate(); 37 response.sendRedirect("index.jsp?failed=true"); 38 } 39 %>