我们在使用spring security和 Jwt结合使用的时候,对特殊路径设置权限时肯能会有不同的效果
anonymous:这个表达式用于指定某个资源或服务只能被匿名用户访问,,一旦用户通过了登录认证流程(例如,用户携带有效的token信息请求资源),该用户将不能再访问被标记为.anonymous()的资源。
permitAll:此表达式指示资源对所有用户开放,无论他们是否经过了身份验证。换句话说,它允许匿名用户和已登录用户都能够访问相关的资源。
我们先看一个security配置这个配置对 以下路径有特殊处理
"/api/user/register","/api/user/login1","/api/upload/write"
@Configuration
@EnableWebSecurity //开启spring security,可以省略
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable(); //禁用跨域功能
http.logout().disable(); //禁用注销功能
http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS);//禁用session功能
http .autho

本文探讨了在SpringSecurity中使用JWT时,如何针对特定路径如/api/user/register、/api/user/login1和/api/upload/write设置权限。当使用匿名用户登录且token过期后,可能会导致权限问题。解决方法是将匿名权限从.anonymous()改为.permitAll()。

1154

被折叠的 条评论
为什么被折叠?



