Spring Security HttpSecurity.authorizeRequests

        http.authorizeRequests()

                .antMatchers("/login.html").permitAll()//放行/login.html,不需要认证
                // .antMatchers("/css/**","/js/**","/images/**").permitAll()//放行静态资源
                // .antMatchers("/**/*.png").permitAll()//放行后缀.png
                
                // .regexMatchers(".+[.]png").permitAll()//放行后缀.png,正则表达式
                // .regexMatchers(HttpMethod.POST,"/demo").permitAll()//指定请求方法
                
                // .antMatchers("/main1.html").hasAuthority("admiN")//基于权限
                // .antMatchers("/main1.html").hasAnyAuthority("admin","admiN")
                
                // .antMatchers("/main1.html").hasRole("abC")//基于角色
                // .antMatchers("/main1.html").hasAnyRole("abC","abc")
                
                // .antMatchers("/main1.html").hasIpAddress("127.0.0.1")//基于IP地址

                .anyRequest().authenticated();//所有请求都必须认证才能访问,必须登录

1.先匹配url
.anyRequest()
.antMatchers
.regexMatchers
.mvcMatchers 比较较少用

2.再权限管理
denyAll
permitAll

hasAuthority
hasAnyAuthority
hasRole
hasAnyRole

fullAuthority(remember me)
authenticated //登录
hasIpAddress

项目tips

实际中一般先
1)处理放行页面 permitAll
2)处理特殊权限页面 hasAuth
3)剩余全部需登录

参考:
https://stackoverflow.com/questions/19525380/difference-between-role-and-grantedauthority-in-spring-security

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值