spring security 3 - 设置自定义登录

时间:2011-03-04 16:56:49

标签: spring-security

我正在使用spring security,我想知道如何更改默认登录表单。

我已设置以下配置:

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

    <intercept-url pattern="/**"
                    access="ROLE_ADMIN" />
</http>

在控制器中我有以下内容:

@Controller
@RequestMapping("login")
public class Logincontroller {
/**
 * the logger used for print useful information
 */
protected final Log logger = LogFactory.getLog(getClass());

@RequestMapping(value="",method=RequestMethod.GET)
public String showLoginView(Map<String, Object> model) {
    return WebappConstants.HOME_VIEW;
}

}

然而,当我在浏览器中点击一个网址时,它说该网页没有正确重定向(Firefox)。我检查了firebug并打开调试器,以便有效地检查此代码是否没有调用我的控制器。

我做错了什么?

1 个答案:

答案 0 :(得分:5)

您拒绝访问登录页面本身,您需要添加规则以允许它:

<intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_ADMIN" />