2012-03-27 5 views
2

Ich arbeite mit einer App, die Feder-Sicherheit 3.0 und oauth2 mit Spring-Security-oauth-1.0.0.M3 verwendet. Es funktioniert gut. Aber es sieht so aus, als ob die Umstellung auf die Sicherheit 3.1 nicht trivial wäre. Ich konnte keine Bestätigung finden, dass das oauth-Modul weiterhin unterstützt wird.Unterstützt Feder-Sicherheit 3.1 Feder-Sicherheit-oauth (für oauth2)? Gibt es eine Referenz?

Zum Beispiel der oauth Tutorial erwähnt 3.0 nicht 3.1:

https://github.com/SpringSource/spring-security-oauth/wiki/tutorial

Und ich habe ein Problem ähnlich den 4. März 2012 Kommentar in der folgenden Diskussion auf, wenn ich versuche, ein gerade Upgrade zu tun auf 3,1 unter Verwendung von federsicherheits oauth 1.0.0.M3 oder M4:

http://code.google.com/p/spring-security-social/wiki/Usage

Insbesondere sehe ich dies in den Tomcat-Protokolle:

org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration 
problem: Failed to import bean definitions from URL location ... 
Offending resource: class path resource [spring/applicationContext.xml]; nested 
exception is org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected 
exception parsing XML document from URL ...; nested exception is 
org.springframework.beans.FatalBeanException: Invalid NamespaceHandler class 
[org.springframework.security.oauth2.config.OAuth2SecurityNamespaceHandler] for namespace 
[http://www.springframework.org/schema/security/oauth2]: problem with handler class file or 
dependent class; nested exception is java.lang.NoClassDefFoundError: 
org/springframework/security/web/util/AntUrlPathMatcher 

Kann jemand eine Lösung für das obige Problem vorschlagen, oder deutet auf eine Referenz für die Verwendung von feder Sicherheit 3.1 und federsicherheits oauth, oder aber eine bessere Alternative vorschlägt feder Sicherheit 3.1 zu implementieren oauth2 mit?

Oder wenn ich einen grundlegenden Punkt der Federsicherheit 3.1 vermisse, wäre das auch nützlich zu wissen.

Danke!

+1

Die Antwort ist ja, es wird unterstützt. Seufz, stellt sich heraus, dass Spring Security OAuth 1.0.0.M6 für Spring Security 3.1 erforderlich ist (oder zumindest ausreichend ist): http://forum.springsource.org/showthread.php?123470-Spring-Security-OAuth-1- 0-0-M6-released Dies löste die obige BeanDefinitionParsingException. – Will

+0

Bisher sieht dies wie die beste Referenz Guide: https://github.com/SpringSource/spring-security-oauth/wiki/oauth2 – Will

Antwort

5

Ja, Spring Security OAuth-Meilenstein Build 1.0.0.M6 und speziell das Modul oauth2 unterstützt Spring Security 3.1.0. Es wird noch nicht als Veröffentlichung betrachtet. Die OAuth 2.0 spec selbst ist nicht endgültig.

Die 1.0.0.M6 samples scheinen die genaueste und vollständige Referenz für die Implementierung zu sein. Der vollständige 1.0.0.M6 Tag zipball ist here.

Die OAuth 2 Developers Guide ist eine gute textuelle Referenz. Es ist nicht 100% genau, zumindest in Bezug auf 1.0.0.M6. Zum Beispiel gehört das Attribut user-approval-page zu authorization-server not authorization-code.

Die Maven-Datei pom.xml muss sich auf artifactId spring-security-oauth2 beziehen (nicht wie in älteren Versionen wie 1.0.0.M3).