Spring security未按预期工作
我正在使用以下配置的spring security。每次我尝试访问根url,即“/”,它都会将我带到“/verify”。有人能告诉我我错过了什么吗Spring security未按预期工作,spring,spring-security,Spring,Spring Security,我正在使用以下配置的spring security。每次我尝试访问根url,即“/”,它都会将我带到“/verify”。有人能告诉我我错过了什么吗 <http auto-config='true' use-expressions='true'> <intercept-url pattern="/" access="permitAll" /> <intercept-url pattern="/verify" access="permit
<http auto-config='true' use-expressions='true'>
<intercept-url pattern="/" access="permitAll" />
<intercept-url pattern="/verify" access="permitAll" />
<intercept-url pattern="/logout" access="permitAll" />
<intercept-url pattern="/signup" access="permitAll" />
<intercept-url pattern="/admin/**" access="hasAnyRole('SUPER','ADMIN')" />
<intercept-url pattern="/**" access="isAuthenticated()"/>
<form-login login-page="/verify" default-target-url="/home"
username-parameter="user_email" password-parameter="user_password"
always-use-default-target="true" authentication-failure-url="/verify"
authentication-success-handler-ref="authSuccessHandler" />
<logout logout-success-url="/logout" logout-url="/logoutuser" />
<headers>
<cache-control />
<hsts />
</headers>
</http>
您似乎希望URL模式“/**”指示SS运行isAuthenticated()
这会触发重定向到/verify吗?我不能确定,但一个常见的陷阱是忘记允许访问公共HTML或JSP页面(最终通过控制器)使用的资源文件、图像、css或js 如果是您的问题,我的建议是将它们放在
resources
文件夹下,或者更确切地说放在images
、css
和js
文件夹下,并在Spring Security config中添加相应的行:
<http auto-config='true' use-expressions='true'>
<intercept-url pattern="/" access="permitAll" />
<intercept-url pattern="/images/**" access="permitAll" />
<intercept-url pattern="/css/**" access="permitAll" />
...
</http>
...
能否添加/验证请求映射及其JSP页面?我已经添加了请求映射。JSP只是一个简单的登录页面。您应该尝试对org.springframework.security.*
使用调试日志级别,并显示日志(对于与访问/
相关的部分),我的所有资源都在“resources”文件夹中,但对于此页面,我没有提及任何资源。@Aakash:无论如何,您的
集团中应该有
。
<http auto-config='true' use-expressions='true'>
<intercept-url pattern="/" access="permitAll" />
<intercept-url pattern="/images/**" access="permitAll" />
<intercept-url pattern="/css/**" access="permitAll" />
...
</http>