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 %>