1
22
23 package com.liferay.portal.security.auth;
24
25 import com.liferay.portal.kernel.util.GetterUtil;
26 import com.liferay.portal.kernel.util.ParamUtil;
27 import com.liferay.portal.kernel.util.Validator;
28 import com.liferay.portal.model.Company;
29 import com.liferay.portal.model.CompanyConstants;
30 import com.liferay.portal.service.UserLocalServiceUtil;
31 import com.liferay.portal.util.PortalUtil;
32
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.http.HttpServletResponse;
35
36
42 public class ParameterAutoLogin implements AutoLogin {
43
44 public String[] login(HttpServletRequest req, HttpServletResponse res)
45 throws AutoLoginException {
46
47 try {
48 String login = ParamUtil.getString(req, getLoginParam());
49
50 if (Validator.isNull(login)) {
51 return null;
52 }
53
54 String password = ParamUtil.getString(req, getPasswordParam());
55
56 if (Validator.isNull(password)) {
57 return null;
58 }
59
60 Company company = PortalUtil.getCompany(req);
61
62 String authType = company.getAuthType();
63
64 long userId = 0;
65
66 if (authType.equals(CompanyConstants.AUTH_TYPE_EA)) {
67 userId = UserLocalServiceUtil.getUserIdByEmailAddress(
68 company.getCompanyId(), login);
69 }
70 else if (authType.equals(CompanyConstants.AUTH_TYPE_SN)) {
71 userId = UserLocalServiceUtil.getUserIdByScreenName(
72 company.getCompanyId(), login);
73 }
74 else if (authType.equals(CompanyConstants.AUTH_TYPE_ID)) {
75 userId = GetterUtil.getLong(login);
76 }
77 else {
78 return null;
79 }
80
81 String[] credentials = new String[] {
82 String.valueOf(userId), password, Boolean.FALSE.toString()
83 };
84
85 return credentials;
86 }
87 catch (Exception e) {
88 throw new AutoLoginException(e);
89 }
90 }
91
92 protected String getLoginParam() {
93 return _LOGIN_PARAM;
94 }
95
96 protected String getPasswordParam() {
97 return _PASSWORD_PARAM;
98 }
99
100 private static final String _LOGIN_PARAM = "parameterAutoLoginLogin";
101
102 private static final String _PASSWORD_PARAM = "parameterAutoLoginPassword";
103
104 }