0

我尝试使用 oauth 2.0 与我们的客户建立安全通信。首先,我必须承认我对 oauth 完全陌生。使用的技术如下:wicket,spring,我采取了以下步骤。

  1. 在 pom.xml 中添加依赖

    <dependency>
    <groupId>org.springframework.security.oauth</groupId>
    <artifactId>spring-security-oauth</artifactId>
    <version>1.0.0.M3</version>
    </dependency>

  2. 然后我在 WEB-INF/web.xml 中添加了以下内容

    <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>

  3. 最后我将这些行添加到 META-INF/spring-context/application.xml

    <beans:bean id="tokenServices" class="org.springframework.security.oauth2.provider.token.InMemoryOAuth2ProviderTokenServices">
    <beans:property name="supportRefreshToken" value="true" />
    </beans:bean>
    < oauth:provider client-details-service-ref="clientDetails" token-services-ref="tokenServices">
    <oauth:verification-code user-approval-page="/oauth/confirm_access" />
    </oauth:provider>
    <oauth:client-details-service id="clientDetails">
    <oauth:client clientId="foo" authorizedGrantTypes="authorization_code" />
    </oauth:client-details-service>

但我得到了这个错误:

25 09 12 14:48:11:921:ERROR: [ContextLoader] Context initialization failed
java.lang.NoClassDefFoundError: org/springframework/core/env/ConfigurableEnvironment
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404)
at java.lang.Class.getConstructor0(Class.java:2714)
at java.lang.Class.getDeclaredConstructor(Class.java:2002)
...
4

2 回答 2

2

我认为你需要在你的 Maven 依赖项中使用 spring-core。特别是 3.1 或更高版本。

于 2012-09-25T14:19:00.510 回答
0

通常是这样的,当我们添加一个依赖时,它本身就包含了必要的依赖。不是吗?因为我得到了这么多的错误,直到现在我添加了许多依赖项,但仍然面临一些新的依赖项?这是合乎逻辑的......在我可以运行项目之前添加依赖项。我仍然没有代码......只是尝试添加OAUTH依赖!

于 2012-09-26T14:50:08.180 回答