Spring Security avec JSF (sans Maven)
Bonjour tout le monde,
je développe une application Web JavaEE avec jsf 2.2 + eclipseLink sous NetBeans 8.1 et je voudrais la sécuriser au début avant de se lancer sur le développement des autres parties.
j'ai vu des tutoriels avec Spring Security mais la plupart sont avec Spring MVC ou Maven, et je pense que ce n'est pas mon cas ! (la plupart des tutos demandent des fichiers tels que : pom.xml, servlet-dispatcher.xml, applicationcontext.xml, ...)
Qu'elle est la meilleure solution pour sécuriser mon application ? est-ce que je peux utiliser Spring Security ?
Et s'il a des tutos Spring Security qui peuvent m'aider?
merci de vos suggestions et solutions
Spring securtiy 3.2 + jsf
Bonjour tout le monde,
autre fois j'ai besoin de vouuuus , j'ai une application avec jsf 2.2 et spring security 3.2 j'ai fait une page login personnalisée , au début ça marcha bien mais maintenant lorsque j’exécute l'application la page login ne s'affiche pas et j'ai une connexion automatique avec AnonymousUser , j'ai beaucoup besoin de votre aide.
Spring-security.xml :
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schem...-beans-3.2.xsd
http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.2.xsd">
<http use-expressions="true">
<intercept-url pattern="/login.xhtml" access="permitAll" />
<intercept-url pattern="/resources/**" access="permitAll"/>
<intercept-url pattern="*/employee/*" access="isAuthenticated()" />
<intercept-url pattern="*/activity/*" access="isAuthenticated()" />
<intercept-url pattern="*/project/*" access="isAuthenticated()" />
<intercept-url pattern="*/contrat/*" access="isAuthenticated()" />
<intercept-url pattern="*/details/*" access="isAuthenticated()" />
<intercept-url pattern="*/leaverequest/*" access="isAuthenticated()"/>
<intercept-url pattern="*/mission/*" access="isAuthenticated()" />
<intercept-url pattern="*/salarystructure/*" access="isAuthenticated()" />
<intercept-url pattern="*/team/*" access="isAuthenticated()" />
<intercept-url pattern="*/employee/Create" access="hasRole('ADMIN')" />
<intercept-url pattern="*/employee/List" access="hasRole('ADMIN')" />
<intercept-url pattern="*/employee/Edit" access="hasRole('ADMIN')" />
<intercept-url pattern="*/employee/View" access="hasRole('ADMIN')" />
<intercept-url pattern="*/leaverequest/List" access="hasRole('ADMIN')" />
<intercept-url pattern="*/leaverequest/Edit" access="hasRole('ADMIN')" />
<intercept-url pattern="*/leaverequest/View" access="hasRole('ADMIN')" />
<form-login login-page="/login.xhtml" authentication-failure-url="/login.xhtml?error=true"/>
<logout logout-success-url="/faces/login.xhtml" logout-url="/j_spring_security_logout" />
</http>
<authentication-manager>
<authentication-provider>
<jdbc-user-service data-source-ref="dataSource"
users-by-username-query="select username, password , isactive from employee where username=?"
authorities-by-username-query="select username ,acceslevel from employee where username =? " />
</authentication-provider>
</authentication-manager>
<!-- Select users and user_roles from database -->
<beans:bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<beans:property name="url" value="jdbc:mysql://localhost:3306/gestionrh" />
<beans:property name="username" value="vegarh" />
<beans:property name="password" value="vegarh" />
</beans:bean>
</beans:beans>
web.xml :
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
<url-pattern>/faces/*</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring-security.xml</param-value>
</context-param>
<welcome-file-list>
<welcome-file>faces/employee/Create.xhtml</welcome-file>
</welcome-file-list>
</web-app>