Salvatore La Manna
4 anni fa
32 ha cambiato i file con 607 aggiunte e 7 eliminazioni
@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<classpath> |
||||
<classpathentry kind="src" path="docroot/WEB-INF/src"/> |
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/jdk1.7.0_79"> |
||||
<attributes> |
||||
<attribute name="owner.project.facets" value="java"/> |
||||
</attributes> |
||||
</classpathentry> |
||||
<classpathentry kind="con" path="org.eclipse.jst.server.core.container/com.liferay.ide.eclipse.server.tomcat.runtimeClasspathProvider/Liferay v6.2 CE (Tomcat 7)"> |
||||
<attributes> |
||||
<attribute name="owner.project.facets" value="jst.web"/> |
||||
</attributes> |
||||
</classpathentry> |
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/> |
||||
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/> |
||||
<classpathentry kind="con" path="com.liferay.ide.eclipse.server.plugin.container/hook"> |
||||
<attributes> |
||||
<attribute name="org.eclipse.jst.component.nondependency" value=""/> |
||||
</attributes> |
||||
</classpathentry> |
||||
<classpathentry kind="con" path="org.apache.ivyde.eclipse.cpcontainer.IVYDE_CONTAINER/?project=sicilia-login-hook&ivyXmlPath=ivy.xml&confs=*&ivySettingsPath=%24%7Bliferay_sdk_dir%3Asicilia-login-hook%7D%2Fivy-settings.xml&loadSettingsOnDemand=false&ivyUserDir=%24%7Bliferay_sdk_dir%3Asicilia-login-hook%7D%2F.ivy&propertyFiles="> |
||||
<attributes> |
||||
<attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/> |
||||
</attributes> |
||||
</classpathentry> |
||||
<classpathentry kind="output" path="docroot/WEB-INF/classes"/> |
||||
</classpath> |
@ -0,0 +1,37 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<projectDescription> |
||||
<name>sicilia-login-hook</name> |
||||
<comment></comment> |
||||
<projects> |
||||
</projects> |
||||
<buildSpec> |
||||
<buildCommand> |
||||
<name>org.eclipse.wst.jsdt.core.javascriptValidator</name> |
||||
<arguments> |
||||
</arguments> |
||||
</buildCommand> |
||||
<buildCommand> |
||||
<name>org.eclipse.jdt.core.javabuilder</name> |
||||
<arguments> |
||||
</arguments> |
||||
</buildCommand> |
||||
<buildCommand> |
||||
<name>org.eclipse.wst.common.project.facet.core.builder</name> |
||||
<arguments> |
||||
</arguments> |
||||
</buildCommand> |
||||
<buildCommand> |
||||
<name>org.eclipse.wst.validation.validationbuilder</name> |
||||
<arguments> |
||||
</arguments> |
||||
</buildCommand> |
||||
</buildSpec> |
||||
<natures> |
||||
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature> |
||||
<nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> |
||||
<nature>org.eclipse.wst.common.project.facet.core.nature</nature> |
||||
<nature>org.eclipse.jdt.core.javanature</nature> |
||||
<nature>org.apache.ivyde.eclipse.ivynature</nature> |
||||
<nature>org.eclipse.wst.jsdt.core.jsNature</nature> |
||||
</natures> |
||||
</projectDescription> |
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<classpath> |
||||
<classpathentry kind="src" path="docroot"/> |
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.JRE_CONTAINER"/> |
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.WebProject"> |
||||
<attributes> |
||||
<attribute name="hide" value="true"/> |
||||
</attributes> |
||||
</classpathentry> |
||||
<classpathentry kind="con" path="org.eclipse.wst.jsdt.launching.baseBrowserLibrary"/> |
||||
<classpathentry kind="output" path=""/> |
||||
</classpath> |
@ -0,0 +1,7 @@
|
||||
eclipse.preferences.version=1 |
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled |
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 |
||||
org.eclipse.jdt.core.compiler.compliance=1.7 |
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error |
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error |
||||
org.eclipse.jdt.core.compiler.source=1.7 |
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> |
||||
<wb-module deploy-name="sicilia-login-hook"> |
||||
<wb-resource deploy-path="/" source-path="/docroot" tag="defaultRootSource"/> |
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/docroot/WEB-INF/src"/> |
||||
<property name="context-root" value="sicilia-login-hook"/> |
||||
<property name="java-output-path" value="/sicilia-login-hook/docroot/WEB-INF/classes"/> |
||||
</wb-module> |
||||
</project-modules> |
@ -0,0 +1,7 @@
|
||||
<root> |
||||
<facet id="liferay.hook"> |
||||
<node name="libprov"> |
||||
<attribute name="provider-id" value="com.liferay.ide.eclipse.plugin.hook.libraryProvider"/> |
||||
</node> |
||||
</facet> |
||||
</root> |
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<faceted-project> |
||||
<runtime name="Liferay v6.2 CE (Tomcat 7)"/> |
||||
<fixed facet="jst.web"/> |
||||
<fixed facet="java"/> |
||||
<fixed facet="wst.jsdt.web"/> |
||||
<installed facet="java" version="1.7"/> |
||||
<installed facet="jst.web" version="3.0"/> |
||||
<installed facet="liferay.hook" version="6.0"/> |
||||
<installed facet="wst.jsdt.web" version="1.0"/> |
||||
</faceted-project> |
@ -0,0 +1 @@
|
||||
org.eclipse.wst.jsdt.launching.baseBrowserLibrary |
@ -0,0 +1 @@
|
||||
Window |
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0"?> |
||||
<!DOCTYPE project> |
||||
|
||||
<project name="sicilia-login-hook" basedir="." default="deploy"> |
||||
<import file="../build-common-hook.xml" /> |
||||
</project> |
@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0 |
||||
Class-Path: |
||||
|
@ -0,0 +1 @@
|
||||
/classes/ |
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0"?> |
||||
<!DOCTYPE hook PUBLIC "-//Liferay//DTD Hook 6.2.0//EN" "http://www.liferay.com/dtd/liferay-hook_6_2_0.dtd"> |
||||
|
||||
<hook> |
||||
<portal-properties>portal.properties</portal-properties> |
||||
<servlet-filter> |
||||
<servlet-filter-name>Sicilia SSO</servlet-filter-name> |
||||
<servlet-filter-impl>it.mwg.sicilia.login.SiciliaLoginFilter</servlet-filter-impl> |
||||
</servlet-filter> |
||||
<servlet-filter-mapping> |
||||
<servlet-filter-name>Sicilia SSO</servlet-filter-name> |
||||
<url-pattern>/c/portal/login</url-pattern> |
||||
<dispatcher>FORWARD</dispatcher> |
||||
<dispatcher>REQUEST</dispatcher> |
||||
</servlet-filter-mapping> |
||||
</hook> |
@ -0,0 +1,11 @@
|
||||
name=Sicilia Login Hook |
||||
module-group-id=liferay |
||||
module-incremental-version=1 |
||||
tags= |
||||
short-description= |
||||
long-description= |
||||
change-log= |
||||
page-url=http://www.liferay.com |
||||
author=Liferay, Inc. |
||||
licenses=LGPL |
||||
liferay-versions=6.2.0+ |
@ -0,0 +1,46 @@
|
||||
package it.mwg.sicilia.constants; |
||||
|
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
|
||||
public class ApiConstants { |
||||
public static final String LABEL_ERROR_CODE = "code"; |
||||
public static final String LABEL_DESCRIPTION = "description"; |
||||
public static final String LABEL_STATUS = "status"; |
||||
|
||||
public static final int ERROR_OK = 0; |
||||
public static final int ERROR_INVALID_AUTH = 1; |
||||
public static final int ERROR_INVALID_LOGIN = 2; |
||||
public static final int ERROR_INVALID_TOKEN = 3; |
||||
public static final int ERROR_INVALID_INPUT = 4; |
||||
public static final int ERROR_MISSING_PARAMETER = 5; |
||||
public static final int ERROR_INVALID_PASSWORD = 6; |
||||
|
||||
public static final String STATUS_OK = "success"; |
||||
public static final String STATUS_ERROR = "error"; |
||||
|
||||
public static final String API_USERNAME = "sismica"; |
||||
public static final String API_PASSWORD = "4Tr-D%fO!sli5"; |
||||
|
||||
public static final String PARAMETER_AUTH = "auth"; |
||||
public static final String PARAMETER_CALLBACK_URL = "callback"; |
||||
public static final String PARAMETER_TOKEN = "token"; |
||||
public static final String PARAMETER_USERNAME = "username"; |
||||
public static final String PARAMETER_PASSWORD = "password"; |
||||
public static final String PARAMETER_FIRST_NAME = "nome"; |
||||
public static final String PARAMETER_LAST_NAME = "cognome"; |
||||
public static final String PARAMETER_CODICE_FISCALE = "codice_fiscale"; |
||||
|
||||
private static final String SESSION_BASE = "SICILIA_HOOK_"; |
||||
public static final String SESSION_AUTH = SESSION_BASE + PARAMETER_AUTH.toUpperCase(); |
||||
public static final String SESSION_TOKEN = SESSION_BASE + PARAMETER_TOKEN.toUpperCase(); |
||||
public static final String SESSION_USER_DATA = SESSION_BASE + "USER_DATA"; |
||||
|
||||
public static final String LOGIN_SERVER = "https://auth.mwg.it/"; |
||||
private static final String ENDPOINT_BASE = LOGIN_SERVER + "api/v1/"; |
||||
public static final String ENDPOINT_LOGIN = ENDPOINT_BASE + "login.cgi"; |
||||
public static final String ENDPOINT_GET_TOKEN = ENDPOINT_BASE + "get_token.cgi"; |
||||
public static final String ENDPOINT_GET_USER = ENDPOINT_BASE + "get_user.cgi"; |
||||
|
||||
public static final String HTTP_USER_AGENT = "Sicilia Login like Mozilla/5.0"; |
||||
} |
@ -0,0 +1,113 @@
|
||||
package it.mwg.sicilia.login; |
||||
|
||||
import it.mwg.sicilia.constants.ApiConstants; |
||||
|
||||
import java.util.Date; |
||||
import java.util.Locale; |
||||
import java.util.Map; |
||||
|
||||
import javax.servlet.http.HttpServletRequest; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
import javax.servlet.http.HttpSession; |
||||
|
||||
import com.liferay.portal.kernel.exception.PortalException; |
||||
import com.liferay.portal.kernel.exception.SystemException; |
||||
import com.liferay.portal.kernel.log.Log; |
||||
import com.liferay.portal.kernel.log.LogFactoryUtil; |
||||
import com.liferay.portal.kernel.security.SecureRandom; |
||||
import com.liferay.portal.kernel.util.StringPool; |
||||
import com.liferay.portal.kernel.util.Validator; |
||||
import com.liferay.portal.model.User; |
||||
import com.liferay.portal.security.auth.AutoLogin; |
||||
import com.liferay.portal.security.auth.AutoLoginException; |
||||
import com.liferay.portal.service.ServiceContext; |
||||
import com.liferay.portal.service.UserLocalServiceUtil; |
||||
import com.liferay.portal.util.PortalUtil; |
||||
|
||||
/** |
||||
* @author Manifattura Web Group per Regione Siciliana |
||||
* |
||||
*/ |
||||
public class SiciliaAutoLogin implements AutoLogin { |
||||
private static final Log _log = LogFactoryUtil.getLog(SiciliaAutoLogin.class); |
||||
|
||||
@Override |
||||
public String[] login(HttpServletRequest request, HttpServletResponse response) throws AutoLoginException { |
||||
User user = null; |
||||
HttpSession session = request.getSession(); |
||||
Map<String, String> userData = (Map<String, String>) session |
||||
.getAttribute(ApiConstants.SESSION_USER_DATA); |
||||
if (Validator.isNotNull(userData)) { |
||||
long companyId = PortalUtil.getCompanyId(request); |
||||
user = logUser(companyId, userData.get(ApiConstants.PARAMETER_CODICE_FISCALE), |
||||
userData.get(ApiConstants.PARAMETER_FIRST_NAME), |
||||
userData.get(ApiConstants.PARAMETER_LAST_NAME)); |
||||
if (Validator.isNotNull(user)) { |
||||
return new String[] { String.valueOf(user.getUserId()), user.getPassword(), |
||||
String.valueOf(user.isPasswordEncrypted()) }; |
||||
} |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
@Override |
||||
public String[] handleException(HttpServletRequest request, HttpServletResponse response, Exception e) |
||||
throws AutoLoginException { |
||||
_log.error(e); |
||||
return null; |
||||
} |
||||
|
||||
private User logUser(long companyId, String screenName, String firstName, String lastName) { |
||||
_log.info("Cerco l'utente " + screenName + " (" + firstName + " " + lastName + ")"); |
||||
User user = null; |
||||
try { |
||||
user = UserLocalServiceUtil.fetchUserByScreenName(companyId, screenName); |
||||
|
||||
if (Validator.isNull(user)) { |
||||
long creatorUserId = UserLocalServiceUtil.getDefaultUserId(companyId); |
||||
boolean autoPassword = true; |
||||
String password = randomPassword(24); |
||||
boolean autoScreenName = false; |
||||
String emailAddress = screenName + "@no-email.regione.sicilia.it"; |
||||
long facebookId = 0; |
||||
String openId = StringPool.BLANK; |
||||
Locale locale = Locale.ITALY; |
||||
String middleName = StringPool.BLANK; |
||||
int prefixId = 0; |
||||
int suffixId = 0; |
||||
boolean male = true; |
||||
int birthdayMonth = 0; |
||||
int birthdayDay = 1; |
||||
int birthdayYear = 1970; |
||||
String jobTitle = StringPool.BLANK; |
||||
long[] groupIds = null; |
||||
long[] organizationIds = null; |
||||
long[] roleIds = null; |
||||
long[] userGroupIds = null; |
||||
boolean sendEmail = false; |
||||
ServiceContext serviceContext = new ServiceContext(); |
||||
user = UserLocalServiceUtil.addUser(creatorUserId, companyId, autoPassword, password, |
||||
password, autoScreenName, screenName, emailAddress, facebookId, openId, locale, |
||||
firstName, middleName, lastName, prefixId, suffixId, male, birthdayMonth, |
||||
birthdayDay, birthdayYear, jobTitle, groupIds, organizationIds, roleIds, |
||||
userGroupIds, sendEmail, serviceContext); |
||||
user.setPasswordModified(true); |
||||
user.setPasswordModifiedDate(new Date()); |
||||
user.setPasswordReset(false); |
||||
UserLocalServiceUtil.updateUser(user); |
||||
} |
||||
} catch (SystemException | PortalException e) { |
||||
_log.error("Errore durante l'autenticazione/creazione dell'utente " + screenName, e); |
||||
} |
||||
return user; |
||||
} |
||||
|
||||
private String randomPassword(int length) { |
||||
SecureRandom rnd = new SecureRandom(); |
||||
StringBuilder sb = new StringBuilder(); |
||||
for (int i = 0; i < length; i++) { |
||||
sb.append((char) (32 + rnd.nextInt(95))); |
||||
} |
||||
return sb.toString(); |
||||
} |
||||
} |
@ -0,0 +1,76 @@
|
||||
package it.mwg.sicilia.login; |
||||
|
||||
import it.mwg.sicilia.constants.ApiConstants; |
||||
import it.mwg.sicilia.util.ApiUtil; |
||||
|
||||
import java.io.IOException; |
||||
import java.util.Locale; |
||||
import java.util.Map; |
||||
|
||||
import javax.servlet.Filter; |
||||
import javax.servlet.FilterChain; |
||||
import javax.servlet.FilterConfig; |
||||
import javax.servlet.ServletException; |
||||
import javax.servlet.ServletRequest; |
||||
import javax.servlet.ServletResponse; |
||||
import javax.servlet.http.HttpServletRequest; |
||||
import javax.servlet.http.HttpServletResponse; |
||||
import javax.servlet.http.HttpSession; |
||||
|
||||
import com.liferay.portal.kernel.exception.PortalException; |
||||
import com.liferay.portal.kernel.exception.SystemException; |
||||
import com.liferay.portal.kernel.log.Log; |
||||
import com.liferay.portal.kernel.log.LogFactoryUtil; |
||||
import com.liferay.portal.kernel.util.StringPool; |
||||
import com.liferay.portal.kernel.util.Validator; |
||||
import com.liferay.portal.kernel.util.WebKeys; |
||||
import com.liferay.portal.model.User; |
||||
import com.liferay.portal.service.ServiceContext; |
||||
import com.liferay.portal.service.UserLocalServiceUtil; |
||||
import com.liferay.portal.util.PortalUtil; |
||||
|
||||
public class SiciliaLoginFilter implements Filter { |
||||
public static final Log _log = LogFactoryUtil.getLog(SiciliaLoginFilter.class); |
||||
|
||||
@Override |
||||
public void destroy() { |
||||
} |
||||
|
||||
@Override |
||||
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) |
||||
throws IOException, ServletException { |
||||
HttpServletRequest httpServletRequest = (HttpServletRequest) servletRequest; |
||||
String url = httpServletRequest.getRequestURL().toString(); |
||||
String qs = httpServletRequest.getQueryString(); |
||||
if (Validator.isNotNull(qs)) { |
||||
url += "?" + qs; |
||||
} |
||||
_log.info("Filtro: " + url); |
||||
HttpSession session = httpServletRequest.getSession(); |
||||
String token = (String) session.getAttribute(ApiConstants.SESSION_TOKEN); |
||||
if (Validator.isNull(token)) { |
||||
token = ApiUtil.getToken(url); |
||||
_log.info("Ho creato il token " + token + ". Eseguo redirect"); |
||||
session.setAttribute(ApiConstants.SESSION_TOKEN, token); |
||||
((HttpServletResponse) servletResponse).sendRedirect(ApiConstants.LOGIN_SERVER + "?t=" + token); |
||||
return; |
||||
} else { |
||||
Map<String, String> userData = ApiUtil.getUserInfo(token); |
||||
if (Validator.isNull(userData)) { |
||||
_log.info("Il token potrebbe essere scaduto. Lo ricreo ed eseguo redirect."); |
||||
token = ApiUtil.getToken(url); |
||||
session.setAttribute(ApiConstants.SESSION_TOKEN, token); |
||||
((HttpServletResponse) servletResponse).sendRedirect(ApiConstants.LOGIN_SERVER + "?t=" |
||||
+ token); |
||||
return; |
||||
} else { |
||||
session.setAttribute(ApiConstants.SESSION_USER_DATA, userData); |
||||
} |
||||
} |
||||
chain.doFilter(servletRequest, servletResponse); |
||||
} |
||||
|
||||
@Override |
||||
public void init(FilterConfig config) throws ServletException { |
||||
} |
||||
} |
@ -0,0 +1,126 @@
|
||||
package it.mwg.sicilia.util; |
||||
|
||||
import java.io.BufferedReader; |
||||
import java.io.IOException; |
||||
import java.io.InputStreamReader; |
||||
import java.io.OutputStream; |
||||
import java.net.HttpURLConnection; |
||||
import java.net.URL; |
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
import it.mwg.sicilia.constants.ApiConstants; |
||||
|
||||
import com.liferay.portal.kernel.json.JSONException; |
||||
import com.liferay.portal.kernel.json.JSONFactoryUtil; |
||||
import com.liferay.portal.kernel.json.JSONObject; |
||||
import com.liferay.portal.kernel.log.Log; |
||||
import com.liferay.portal.kernel.log.LogFactoryUtil; |
||||
import com.liferay.portal.kernel.util.Validator; |
||||
|
||||
public class ApiUtil { |
||||
private static final Log _log = LogFactoryUtil.getLog(ApiUtil.class); |
||||
private static String auth = null; |
||||
|
||||
public static String getToken(String callbackURL) { |
||||
if (Validator.isNull(auth)) { |
||||
login(); |
||||
} |
||||
for (int i = 0; i < 10; i++) { |
||||
if (Validator.isNotNull(auth)) { |
||||
JSONObject map = JSONFactoryUtil.createJSONObject(); |
||||
map.put(ApiConstants.PARAMETER_AUTH, auth).put(ApiConstants.PARAMETER_CALLBACK_URL, |
||||
callbackURL); |
||||
map = post(ApiConstants.ENDPOINT_GET_TOKEN, map); |
||||
if (Validator.isNotNull(map)) { |
||||
switch (map.getInt(ApiConstants.LABEL_ERROR_CODE)) { |
||||
case ApiConstants.ERROR_OK: |
||||
return map.getString(ApiConstants.PARAMETER_TOKEN); |
||||
case ApiConstants.ERROR_INVALID_AUTH: |
||||
_log.info("Auth scaduto. Eseguo nuovo login"); |
||||
login(); |
||||
break; |
||||
default: |
||||
_log.error("Errore durante la creazione del token: " + map.toString()); |
||||
return null; |
||||
} |
||||
} else { |
||||
_log.error("Errore inatteso durante la creazione del token"); |
||||
} |
||||
} |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
public static Map<String, String> getUserInfo(String token) { |
||||
_log.info("Recupero informazioni sull'utente con il token " + token + ", auth " + auth); |
||||
JSONObject map = JSONFactoryUtil.createJSONObject(); |
||||
map.put(ApiConstants.PARAMETER_AUTH, auth).put(ApiConstants.PARAMETER_TOKEN, token); |
||||
map = post(ApiConstants.ENDPOINT_GET_USER, map); |
||||
if (Validator.isNotNull(map)) { |
||||
switch (map.getInt(ApiConstants.LABEL_ERROR_CODE)) { |
||||
case ApiConstants.ERROR_OK: |
||||
_log.info("Ho i dati dell'utente"); |
||||
Map<String, String> ret = new HashMap<String, String>(); |
||||
ret.put(ApiConstants.PARAMETER_FIRST_NAME, map.getString(ApiConstants.PARAMETER_FIRST_NAME)); |
||||
ret.put(ApiConstants.PARAMETER_LAST_NAME, map.getString(ApiConstants.PARAMETER_LAST_NAME)); |
||||
ret.put(ApiConstants.PARAMETER_CODICE_FISCALE, |
||||
map.getString(ApiConstants.PARAMETER_CODICE_FISCALE)); |
||||
return ret; |
||||
default: |
||||
_log.error("Errore durante il recupero dei dati utente: " + map.toString()); |
||||
} |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
private static void login() { |
||||
JSONObject map = JSONFactoryUtil.createJSONObject(); |
||||
map.put(ApiConstants.PARAMETER_USERNAME, ApiConstants.API_USERNAME).put( |
||||
ApiConstants.PARAMETER_PASSWORD, ApiConstants.API_PASSWORD); |
||||
map = post(ApiConstants.ENDPOINT_LOGIN, map); |
||||
if (Validator.isNotNull(map)) { |
||||
if (ApiConstants.ERROR_OK == map.getInt(ApiConstants.LABEL_ERROR_CODE)) { |
||||
auth = map.getString(ApiConstants.PARAMETER_AUTH); |
||||
} else { |
||||
_log.error("Errore durante il login: " + map.toString()); |
||||
} |
||||
} |
||||
} |
||||
|
||||
private static JSONObject post(String endPoint, JSONObject json) { |
||||
try { |
||||
URL url = new URL(endPoint); |
||||
HttpURLConnection connection = (HttpURLConnection) url.openConnection(); |
||||
connection.setRequestMethod("POST"); |
||||
connection.setRequestProperty("User-Agent", ApiConstants.HTTP_USER_AGENT); |
||||
connection.setDoOutput(true); |
||||
OutputStream stream = connection.getOutputStream(); |
||||
_log.info("Invio: " + json.toString() + " (" + endPoint + ")"); |
||||
stream.write(json.toString().getBytes()); |
||||
stream.flush(); |
||||
stream.close(); |
||||
int code = connection.getResponseCode(); |
||||
if (code == HttpURLConnection.HTTP_OK) { |
||||
String response = readResponse(connection); |
||||
_log.info("Ricevo: " + response); |
||||
JSONObject ret = JSONFactoryUtil.createJSONObject(response); |
||||
return ret; |
||||
} |
||||
} catch (IOException | JSONException e) { |
||||
_log.error(e); |
||||
} |
||||
return null; |
||||
} |
||||
|
||||
private static String readResponse(HttpURLConnection connection) throws IOException { |
||||
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream())); |
||||
StringBuilder builder = new StringBuilder(); |
||||
String inputLine; |
||||
while ((inputLine = reader.readLine()) != null) { |
||||
builder.append(inputLine); |
||||
} |
||||
reader.close(); |
||||
|
||||
return builder.toString(); |
||||
} |
||||
} |
@ -0,0 +1,2 @@
|
||||
#auth.pipeline.enable.liferay.check=false |
||||
auto.login.hooks=it.mwg.sicilia.login.SiciliaAutoLogin |
@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<web-app id="WebApp_ID" version="2.5" |
||||
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> |
||||
</web-app> |
@ -0,0 +1,18 @@
|
||||
<?xml version="1.0"?> |
||||
|
||||
<ivy-module |
||||
version="2.0" |
||||
xmlns:m2="http://ant.apache.org/ivy/maven" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd" |
||||
> |
||||
<info module="sicilia-login-hook" organisation="com.liferay"> |
||||
<extends extendType="configurations,description,info" location="../../ivy.xml" module="com.liferay.sdk" organisation="com.liferay" revision="latest.integration" /> |
||||
</info> |
||||
|
||||
<dependencies defaultconf="default"> |
||||
<dependency conf="test->default" name="arquillian-junit-container" org="org.jboss.arquillian.junit" rev="1.1.6.Final" /> |
||||
<dependency conf="test->default" name="arquillian-tomcat-remote-7" org="org.jboss.arquillian.container" rev="1.0.0.CR6" /> |
||||
<dependency conf="test->default" name="com.liferay.ant.arquillian" org="com.liferay" rev="1.0.0-SNAPSHOT" /> |
||||
</dependencies> |
||||
</ivy-module> |
@ -0,0 +1 @@
|
||||
f1563bf5bac3cf93500d1510b72dd9da |
@ -0,0 +1,15 @@
|
||||
<?xml version="1.0"?> |
||||
|
||||
<arquillian |
||||
xmlns="http://jboss.org/schema/arquillian" |
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd" |
||||
> |
||||
<container default="true" qualifier="tomcat"> |
||||
<configuration> |
||||
<property name="jmxPort">8099</property> |
||||
<property name="pass">tomcat</property> |
||||
<property name="user">tomcat</property> |
||||
</configuration> |
||||
</container> |
||||
</arquillian> |
@ -0,0 +1,7 @@
|
||||
eclipse.preferences.version=1 |
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled |
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 |
||||
org.eclipse.jdt.core.compiler.compliance=1.6 |
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error |
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error |
||||
org.eclipse.jdt.core.compiler.source=1.6 |
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0"> |
||||
<wb-module deploy-name="portos-kaleo-web"> |
||||
<wb-resource deploy-path="/" source-path="/docroot" tag="defaultRootSource"/> |
||||
<wb-resource deploy-path="/WEB-INF/classes" source-path="/docroot/WEB-INF/src"/> |
||||
<dependent-module archiveName="portos-kaleo-portlet-service.jar" deploy-path="/WEB-INF/lib" handle="module:/classpath/lib/portos-kaleo-portlet/docroot/WEB-INF/lib/portos-kaleo-portlet-service.jar"> |
||||
<dependency-type>uses</dependency-type> |
||||
</dependent-module> |
||||
<dependent-module archiveName="portos-bo-portlet-service.jar" deploy-path="/WEB-INF/lib" handle="module:/classpath/lib/portos-bo-portlet/docroot/WEB-INF/lib/portos-bo-portlet-service.jar"> |
||||
<dependency-type>uses</dependency-type> |
||||
</dependent-module> |
||||
<property name="context-root" value="portos-kaleo-web"/> |
||||
<property name="java-output-path" value="/portos-kaleo-web/docroot/WEB-INF/classes"/> |
||||
</wb-module> |
||||
</project-modules> |
@ -0,0 +1,7 @@
|
||||
<root> |
||||
<facet id="liferay.web"> |
||||
<node name="libprov"> |
||||
<attribute name="provider-id" value="com.liferay.ide.eclipse.plugin.web.libraryProvider"/> |
||||
</node> |
||||
</facet> |
||||
</root> |
@ -0,0 +1,9 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<faceted-project> |
||||
<runtime name="Liferay v6.2 CE (Tomcat 7)"/> |
||||
<fixed facet="wst.jsdt.web"/> |
||||
<installed facet="java" version="1.6"/> |
||||
<installed facet="jst.web" version="2.5"/> |
||||
<installed facet="liferay.web" version="6.0"/> |
||||
<installed facet="wst.jsdt.web" version="1.0"/> |
||||
</faceted-project> |
Caricamento…
Reference in new issue