весенняя безопасность или реализация - PullRequest
0 голосов
/ 05 мая 2011

Я скачал пример проекта с http://spring -security-oauth.codehaus.org / tutorial.html и попытался внедрить его для моего trialsite

Ниже мой отправленный xml

<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
    <props>
      <prop key="/oauth/authorization">oauthController</prop>
    </props>
  </property>
  <property name="alwaysUseFullPath" value="true"/>
</bean>

<bean id="oauthController" class="mypackage.OauthController">
    <property name="clientDetailsService" ref="clientDetails"/>
</bean>

Ниже приведен контекст приложения

<security:http auto-config='true' access-denied-page="/index.jsp">
    <security:intercept-url pattern="/oauth/**" access="ROLE_USER" />
    <security:intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />

    <security:form-login authentication-failure-url="/index.jsp" default-target-url="/index.jsp" login-page="/index.jsp" />
    <security:logout logout-success-url="/index.jsp" />
</security:http>

<bean id="tokenServices" class="org.springframework.security.oauth2.provider.token.InMemoryOAuth2ProviderTokenServices">
    <property name="supportRefreshToken" value="true"/>
</bean>

<oauth:provider client-details-service-ref="clientDetails" token-services-ref="tokenServices" >
    <oauth:verification-code user-approval-page="/oauth/authorization"/>
</oauth:provider>

<oauth:client-details-service id="clientDetails">
    <oauth:client clientId="client1" authorizedGrantTypes="authorization_code"/>
</oauth:client-details-service>

После отправки запроса от клиента как

http://localhost:8080/trialsite/oauth/user/authorize?client_id=client1&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Ftonr%2Ftrialsite%2Faccess.jsp&response_type=code

я получаю ошибку 404 (ресурс не найден) в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 10 марта 2014

Вы должны добавить диспетчер springservlet в web.xml .... потому что конечные точки (oauth / authorize и oauth / token) обрабатываются весенним сервлетом, а также вы должны добавить и на своей странице provider.xml .. ...........

0 голосов
/ 06 сентября 2012

Убедитесь, что у вас есть следующие настройки:

<http pattern="/oauth/(users|clients)/.*" request-matcher="regex"
    create-session="stateless" entry-point-ref="oauthAuthenticationEntryPoint"
    use-expressions="true" xmlns="http://www.springframework.org/schema/security">
    <anonymous enabled="false" />
    <intercept-url pattern="/oauth/users/([^/].*?)/tokens/.*"
        access="#oauth2.clientHasRole('ROLE_CLIENT') and (hasRole('ROLE_USER') or #oauth2.isClient()) and #oauth2.hasScope('write')"
        method="DELETE" />
    <intercept-url pattern="/oauth/users/.*"
        access="#oauth2.clientHasRole('ROLE_CLIENT') and (hasRole('ROLE_USER') or #oauth2.isClient()) and #oauth2.hasScope('read')"
        method="GET" />
    <intercept-url pattern="/oauth/clients/.*"
        access="#oauth2.clientHasRole('ROLE_CLIENT') and #oauth2.isClient() and #oauth2.hasScope('read')"
        method="GET" />
    <custom-filter ref="resourceServerFilter" before="PRE_AUTH_FILTER" />
    <access-denied-handler ref="oauthAccessDeniedHandler" />
    <expression-handler ref="oauthWebExpressionHandler" />
</http>

До вашего тега "security: http ...".

А также убедитесь, что пользователь, которого вы использовали, вошел в систему с помощьюROLE_USER.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...