1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.cms.security.auth.login;
35
36 import info.magnolia.cms.security.auth.callback.CredentialsCallbackHandler;
37 import info.magnolia.cms.security.auth.callback.PlainTextCallbackHandler;
38
39 import javax.servlet.http.HttpServletRequest;
40 import javax.servlet.http.HttpServletResponse;
41
42 import org.apache.commons.lang.StringUtils;
43 import org.slf4j.Logger;
44 import org.slf4j.LoggerFactory;
45
46
47
48
49
50 public class FormLogin extends
51 LoginHandlerBase implements LoginHandler {
52
53 private static final Logger log = LoggerFactory.getLogger(FormLogin.class);
54
55 public static final String PARAMETER_USER_ID = "mgnlUserId";
56
57 public static final String PARAMETER_PSWD = "mgnlUserPSWD";
58
59 public static final String PARAMETER_REALM = "mgnlRealm";
60
61
62
63
64
65 private String jaasChain = "magnolia";
66
67 public LoginResult handle(HttpServletRequest request, HttpServletResponse response) {
68 String userid = request.getParameter(PARAMETER_USER_ID);
69 if (StringUtils.isNotEmpty(userid)) {
70 String pswd = StringUtils.defaultString(request.getParameter(PARAMETER_PSWD));
71 String realm = StringUtils.defaultString(request.getParameter(PARAMETER_REALM));
72
73 CredentialsCallbackHandler callbackHandler = new PlainTextCallbackHandler(userid, pswd.toCharArray(), realm);
74 return authenticate(callbackHandler, getJaasChain());
75 }
76 return LoginResult.NOT_HANDLED;
77 }
78
79 public String getJaasChain() {
80 return this.jaasChain;
81 }
82
83
84 public void setJaasChain(String jaasChain) {
85 this.jaasChain = jaasChain;
86 }
87
88 }