2013-05-03 109 views
3

这里覆盖默认的登录处理,网址为春季安全表单登录样本配置什么是用例在春季安全

<http auto-config="true" use-expressions="false"> 
     <form-login login-processing-url="/static/j_spring_security_check" 
        login-page="/login" 
        authentication-failure-url="/login?login_error=t"/> 
    </http> 

现在,如果我不指定任何显式登录处理的URL春天假设它只作为“/ j_spring_security_check”。我找不到任何类型的默认和重写之间的功能差异,并发现弹簧无缝地处理更改。我试图做谷歌了解什么时候应该重写它。没有一个答案让我满意。

那么为什么我们应该重写默认的登录处理url呢?最重要的是,当我们“必须”重写默认值时,是否有任何用例?

感谢

回答

9

如果你想隐藏你正在使用Spring Security的事实,你应该重写login-processing-url以类似“表格/登录”,以及用户名和密码的形式参数。这有助于隐藏您用于保护网站的框架。

<form-login>标签是配置UsernamePasswordAuthenticationFilter的简称。此过滤器只会被login-processing-url中指定的URL调用,并将使用为username-parameterpassword-parameter设置的值作为请求的用户名和密码。

+0

这就是我搜索后发现的。但我不太确定这是否是唯一的用例。你知道Spring如何处理重写吗? – 2013-05-03 14:24:55

+0

我已经用更多的细节更新了答案。它最终都只是一个java过滤器,'form-login'配置了bean的属性。 – 2013-05-04 04:01:12

+0

感谢周杰伦的细节。我很困惑,因为我无法理解“/ j_spring_security_check”到“/ static/j_spring_security_check”会实现什么隐藏功能?在“Spring In Action”中,我将其看作是一个例子,如果仅仅为了隐藏 – 2013-05-04 10:58:42