1
22
23 package com.liferay.portal.events;
24
25 import com.liferay.portal.kernel.events.Action;
26 import com.liferay.portal.kernel.util.StringPool;
27 import com.liferay.portal.kernel.util.Validator;
28 import com.liferay.portal.security.ldap.PortalLDAPUtil;
29 import com.liferay.portal.util.CookieKeys;
30 import com.liferay.portal.util.PortalUtil;
31
32 import javax.servlet.http.Cookie;
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.http.HttpServletResponse;
35
36 import org.apache.commons.logging.Log;
37 import org.apache.commons.logging.LogFactory;
38
39
45 public class SiteMinderLogoutAction extends Action {
46
47 public void run(HttpServletRequest request, HttpServletResponse response) {
48 try {
49 long companyId = PortalUtil.getCompanyId(request);
50
51 if (!PortalLDAPUtil.isSiteMinderEnabled(companyId)) {
52 return;
53 }
54
55 String domain = CookieKeys.getDomain(request);
56
57 Cookie smSessionCookie = new Cookie(_SMSESSION, StringPool.BLANK);
58
59 if (Validator.isNotNull(domain)) {
60 smSessionCookie.setDomain(domain);
61 }
62
63 smSessionCookie.setMaxAge(0);
64 smSessionCookie.setPath(StringPool.SLASH);
65
66 Cookie smIdentityCookie = new Cookie(_SMIDENTITY, StringPool.BLANK);
67
68 if (Validator.isNotNull(domain)) {
69 smIdentityCookie.setDomain(domain);
70 }
71
72 smIdentityCookie.setMaxAge(0);
73 smIdentityCookie.setPath(StringPool.SLASH);
74
75 CookieKeys.addCookie(response, smSessionCookie);
76 CookieKeys.addCookie(response, smIdentityCookie);
77 }
78 catch (Exception e) {
79 _log.error(e, e);
80 }
81 }
82
83 private static final String _SMSESSION = "SMSESSION";
84
85 private static final String _SMIDENTITY = "SMIDENTITY";
86
87 private static Log _log = LogFactory.getLog(SiteMinderLogoutAction.class);
88
89 }