Bonjour,
je voudrais utiliser Spring Security pour faire la gestion d'accès d'un application web.
J'ai en première ligne un CAS par lequel il faut forcement passer.
En plus du CAS, je voudrais vérifier l'appartenance de la personne connecter à un groupe de l'annuaire pour accéder au site (Ce serait le ROLE_USER)
Et enfin les pages /admin** seraient accessibles aux personnes qui sont en plus référencées dans table d'une base de données (ROLE_ADMIN).
J'ai commencé la configuration du CAS, mais je ne sais pas comment procéder pour le reste. Je suppose qu'il faut créer un filter after CAS_FILTER pour modifier le role de l'utilisateur dans la classe userDetail. Ou peut être faut-il créer un userService maison ou authenticationProvider ? En gros je suis perdu dans les nombreuses classes ...
voila ma config pour l'instant :
J'avais fait ce type d'authentification avec des interceptor sans le module Security, donc je sais accéder aux données.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties"> <property name="service" value="http://monsite.fr"/> <property name="sendRenew" value="false"/> </bean> <sec:http entry-point-ref="casEntryPoint"> <sec:intercept-url pattern="/**" access="ROLE_USER"/> <sec:intercept-url pattern="/admin**" access="ROLE_ADMIN"/> <!-- <sec:custom-filter ref="myFilter" after="CAS_FILTER" /> --> </sec:http> <bean id="casFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter"> <property name="authenticationManager" ref="authenticationManager"/> </bean> <bean id="casEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint"> <property name="loginUrl" value="https://adresseDeMonCAS/login"/> <property name="serviceProperties" ref="serviceProperties"/> </bean> <sec:authentication-manager alias="authenticationManager"> <sec:authentication-provider ref="casAuthenticationProvider" /> </sec:authentication-manager> <bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> <property name="userDetailsService" ref="userService"></property> <property name="serviceProperties" ref="serviceProperties" /> <property name="ticketValidator"> <bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> <constructor-arg index="0" value="https://adresseDeMonCAS/serviceValidate" /> </bean> </property> <property name="key" value="an_id_for_this_auth_provider_only"/> </bean> <sec:user-service id="userService"> ??? </sec:user-service>
Partager