Quelqu'un peut-il coller des étapes simples pour intégrer la sécurité de printemps et la CAS ici pour une panneau unique et une déconnexion unique.
Remarque Je ne veux pas d'un accès basé sur un rôle. J'ai une application Web qui est déjà intégrée à la sécurité de printemps. Maintenant, j'essayais d'exécuter SSO avec CAS, mais je reçois cette erreur Ceci est mon printemps actuel Security.xml p> ceci est mon web.xml p> sun.security.provider.certpath.suncertpathbuildeception: impossible de trouver le chemin de certification valide sur la cible demandée code>
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:lang="http://www.springframework.org/schema/lang"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:util="http://www.springframework.org/schema/util"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd" >
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass">
<value>
org.springframework.web.servlet.view.tiles2.TilesView
</value>
</property>
</bean>
<bean id="tilesConfigurer"
class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles.xml</value>
</list>
</property>
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages" />
<property name="defaultEncoding" value="UTF-8"/>
</bean>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="en"/>
</bean>
<bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<ref bean="localeChangeInterceptor" />
</property>
</bean>
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<!-- one of the properties available; the maximum file size in bytes -->
<property name="maxUploadSize" value="1000000000000"/>
</bean>
</beans>
3 Réponses :
Les étapes les plus simples pour obtenir l'authentification CAS fonctionnent de construire et d'exécuter le échantillon de CAS à partir de l'arborescence source de sécurité à ressort. P>
Vous devez vraiment comprendre comment fonctionne la CAS avant d'essayer de l'utiliser ou de l'intégrer à votre application. Je commencerais sur la documentation CAS et le manuel de référence de Spring Security qui décrit le Interactions entre la sécurité des CAS et du ressort . P>
Même si votre application n'est pas authentifiant les utilisateurs, il a toujours un concept d'utilisateurs qu'il connaît. Il doit également charger les rôles de ces utilisateurs, que CAS ne gère pas, d'où la déclaration Comment votre application valide qu'une connexion est réussie est expliquée dans la documentation ci-dessus. Il appelle essentiellement le serveur CAS, en passant dans le billet de service et récupère une réponse avec le nom d'utilisateur. P> j_spring_cas_security_check code> est l'URL que le CAS redirige dans votre application après avoir authentifié l'utilisateur (voir le lien ci-dessus). P>
Service utilisateur code>. Le mot de passe ne sera pas utilisé. P>
J'ai édité la question? À nouveau obtenir un problème, incapable de résoudre ..Veuillez aider
Maintenant, obtenez cette erreur. Comment résoudre? Causé par: Javax.net.ssl.sslhandshakeException: sun.security.validator.validatorexception: PKIX PATH Building a échoué: Sun.Security.Provider.CertPath.SunCercERTPathBuildERException: Impossible de trouver Valid valide Chemin de certification à la cible demandée à com.sun.net.ssl.internal.ssl.alerts.getsSlexception (source inconnue)
De toute façon SIMPLE SIGNE ON est fait..Il a pris beaucoup de temps pour comprendre, mais croyez-moi si vous avez une configuration d'esprit que vous voulez le faire, alors de toute façon, vous réussirez ..Ee est la solution .. Voici ma mise à jour Spring-Security.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>Spring3MVC</display-name> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring-rootcontext.xml /WEB-INF/spring-security.xml </param-value> </context-param> <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> </filter-mapping> <!-- - Loads the root application context of this web app at startup. --> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/app/*</url-pattern> </servlet-mapping> <filter> <filter-name>CAS Single Sign Out Filter</filter-name> <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Single Sign Out Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener> </web-app>
Pouvez-vous poster votre code userserviceImpl? Ce sera beaucoup d'aide pour moi.
résoudre le problème p>
sun.security.provider.certpath.suncertpathbuildeception: Impossible de trouver un chemin de certification valide à la cible demandée p> blockQuote>
Nous suivons 3 étapes pour instruire JDK de notre serveur d'applications Acceptez le certificat de Server CAS (dans votre projet, c'est cegicollabdev.india.tcs.com:8443) P>
Téléchargez installcert.java et copiez sur le dossier JDK'BIN P>
http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/installcert.java P> li>
Outil de ligne de commande ouverte avec privilège administrateur (si vous êtes sur la fenêtre 7 / Vista). Changez au dossier BIN de JDK et construisez ce fichier Java P>
javac installcert.java code> p> li>
Installer le certificat de serveur CAS P>
java installcert cegicollabdev.india.tcs.com:8443
p>Hit 1 lorsque vous y êtes invité. P> li> ol>
C'est tout. P>