0

我正在做一个 Oauth 2 实施项目,下面是我在 Spring Oauth2 tonr 示例项目的配置文件中找到的内容:


<http access-denied-page="/login.jsp?authorization_error=true" xmlns="http://www.springframework.org/schema/security">
    <intercept-url pattern="/sparklr/**" access="ROLE_USER" />
    <intercept-url pattern="/facebook/**" access="ROLE_USER" />
    <intercept-url pattern="/**" access="IS_AUTHENTICATED_ANONYMOUSLY" />

    <form-login authentication-failure-url="/login.jsp?authentication_error=true" default-target-url="/index.jsp"
        **login-page="/login.jsp"** **login-processing-url="/login.do"** />
    <logout logout-success-url="/index.jsp" logout-url="/logout.do" />
    <anonymous />
    <custom-filter ref="oauth2ClientFilter" after="EXCEPTION_TRANSLATION_FILTER" />
</http>

我的问题是:

  1. 如何映射“login-processing-url="/login.do"”?我在 tonr 中没有看到相应的映射

  2. oauth2ClientFilter 有什么用?

谢谢!

4

1 回答 1

0

1.登录-处理-url

您引用的配置将 Spring(内部)配置为侦听对该 URL 的请求。由于 web.xml 定义了类似于以下 servlet 和映射的内容,因此 Spring 的调度程序服务将接收请求并可以相应地进行处理:

<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>/</url-pattern>
</servlet-mapping>

您可以自由地将其设置为另一个 URL,只需确保您的登录表单的“操作”属性与它匹配。

2. oauth2ClientFilter

这会设置客户端上下文,以便 Tonr 能够代表授权客户端向 Sparklr 发出请求。

于 2013-04-30T21:34:43.250 回答