如何阻止除loginpage以外的所有页面?
问题描述:
我想用Spring Security阻止除登录和错误页面以外的所有页面,但是如果我做了pattern="/*"
它将绝对锁定所有页面并导致无尽的重定向。如何锁定除登录和错误页面以外的所有页面以进行授权?如何阻止除loginpage以外的所有页面?
<http auto-config="true">
<intercept-url pattern="/" access="ROLE_USER"/>
<form-login
login-page="/login"
authentication-failure-url="/login?error"
username-parameter="username"
password-parameter="password"/>
<logout logout-success-url="/login?logout"/>
<csrf/>
</http>
<authentication-manager>
<authentication-provider>
<user-service>
<user name="root" password="root" authorities="ROLE_USER"/>
</user-service>
</authentication-provider>
</authentication-manager>
答
你可以访问第一拦截登录和错误页面匿名然后拦截所有网页,拦截有序基于为了你写它,就像
<http>
<intercept-url pattern="/login.jsp*" access="IS_AUTHENTICATED_ANONYMOUSLY"/>
<intercept-url pattern="/**" access="ROLE_USER" />
<form-login login-page='/login.jsp'/>
</http>
春季安全文档中here