1
22
23 package com.liferay.portal.util;
24
25 import com.liferay.portal.CookieNotSupportedException;
26 import com.liferay.portal.kernel.util.StringPool;
27 import com.liferay.portal.kernel.util.Validator;
28 import com.liferay.util.CookieUtil;
29
30 import javax.servlet.http.Cookie;
31 import javax.servlet.http.HttpServletRequest;
32 import javax.servlet.http.HttpServletResponse;
33
34
41 public class CookieKeys {
42
43 public static final String COOKIE_SUPPORT = "COOKIE_SUPPORT";
44
45 public static final String COMPANY_ID = "COMPANY_ID";
46
47 public static final String GUEST_LANGUAGE_ID = "GUEST_LANGUAGE_ID";
48
49 public static final String ID = "ID";
50
51 public static final String LOGIN = "LOGIN";
52
53 public static final String PASSWORD = "PASSWORD";
54
55 public static final String SCREEN_NAME = "SCREEN_NAME";
56
57 public static final int MAX_AGE = 31536000;
58
59 public static void addCookie(HttpServletResponse res, Cookie cookie) {
60 if (PropsValues.SESSION_ENABLE_PERSISTENT_COOKIES) {
61 if (!PropsValues.TCK_URL) {
62
63
66 res.addCookie(cookie);
67 }
68 }
69 }
70
71 public static void addSupportCookie(HttpServletResponse res) {
72 Cookie cookieSupportCookie =
73 new Cookie(CookieKeys.COOKIE_SUPPORT, "true");
74
75 cookieSupportCookie.setPath("/");
76 cookieSupportCookie.setMaxAge(CookieKeys.MAX_AGE);
77
78 addCookie(res, cookieSupportCookie);
79 }
80
81 public static String getDomain(HttpServletRequest req) {
82
83
85 if (Validator.isNotNull(PropsValues.SESSION_COOKIE_DOMAIN)) {
86 return PropsValues.SESSION_COOKIE_DOMAIN;
87 }
88
89 String host = req.getServerName();
90
91 return getDomain(host);
92 }
93
94 public static String getDomain(String host) {
95
96
98 if (host == null) {
99 return null;
100 }
101
102 int x = host.lastIndexOf(StringPool.PERIOD);
103
104 if (x <= 0) {
105 return null;
106 }
107
108 int y = host.lastIndexOf(StringPool.PERIOD, x - 1);
109
110 if (y <= 0) {
111 return StringPool.PERIOD + host;
112 }
113
114 int z = host.lastIndexOf(StringPool.PERIOD, y - 1);
115
116 String domain = null;
117
118 if (z <= 0) {
119 domain = host.substring(y);
120 }
121 else {
122 domain = host.substring(z);
123 }
124
125 return domain;
126 }
127
128 public static void validateSupportCookie(HttpServletRequest req)
129 throws CookieNotSupportedException {
130
131 if (PropsValues.SESSION_ENABLE_PERSISTENT_COOKIES &&
132 PropsValues.SESSION_TEST_COOKIE_SUPPORT) {
133
134 String cookieSupport = CookieUtil.get(
135 req.getCookies(), CookieKeys.COOKIE_SUPPORT);
136
137 if (Validator.isNull(cookieSupport)) {
138 throw new CookieNotSupportedException();
139 }
140 }
141 }
142
143 }