我有 Spring MVC + Spring Security 项目。
<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true" disable-url-rewriting="true">
...
<intercept-url pattern="/dashboard/myaccount/**" access="hasAnyRole('ROLE_PERSON', 'ROLE_DEALER')"/>
...
<form-login login-page="/security/login" authentication-failure-url="/security/login?error=true"
default-target-url="/security/success" username-parameter="email"
password-parameter="secret"/>
<logout invalidate-session="true" logout-success-url="/index" logout-url="/security/logout"/>
如果用户进入登录页面,如果成功将被重定向到“/security/success”,我在控制器中使用会话对象执行更多操作(记录用户 ID 等)
我的问题是当一个 GUEST 用户要去 /dashboard/myaccount (需要 AUTH)时,他被重定向到 LOGIN 页面(我不想要,我更喜欢抛出 404)。之后 Spring Security 不会重定向到 /security/success。而是重定向到 /dashboard/myaccount。
我希望找到一种方法来完全禁用此重定向到登录页面,以防 GUEST 尝试访问 AUTH 页面。
有什么办法吗?
肿瘤坏死因子