spring security 3 - 设置自定义登录

tsu*_*e21 0 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>
Run Code Online (Sandbox Code Playgroud)

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

@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;
}
Run Code Online (Sandbox Code Playgroud)

}

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

我做错了吗?

axt*_*avt 5

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

<intercept-url pattern="/login" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_ADMIN" />
Run Code Online (Sandbox Code Playgroud)