前言
- RuoYi-Vue 前端分离版使用
SpringSecurity
实现授权访问。 - 在
com.ruoyi.framework.config.SecurityConfig
中配置了可任意访问的地址/url
添加可任意访问的地址
目前整理了三种添加可任意访问的地址的方法。
方法1:在com.ruoyi.framework.config.SecurityConfig
中添加
在com.ruoyi.framework.config.SecurityConfig
中,找到configure(HttpSecurity httpSecurity)
方法,在该方法中进行添加。
- 优点:简单,网上搜到的多是这种方式
- 缺点:需要修改RuoYi代码
方法2:向WebSecurity
添加
@Configuration
@Order(SecurityProperties.BASIC_AUTH_ORDER)
public class MySecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
/* 可匿名访问的接口 */
.antMatchers("/wxapi/**");
}
}
- 优点:不需要修改RuoYi代码
方法3:使用@Anonymous
注解添加
参考官方文档。
示例:
@Anonymous
@GetMapping("/list")
public List<SysXxxx> list(SysXxxx xxxx)
{
return xxxxList;
}
@Anonymous
注解可添加到方法上,也可添加到类上。- 优点:官方推荐、简单
其它
HttpSecurity
不起作用的情况
不起作用的代码:
@Configuration
@Order(SecurityProperties.BASIC_AUTH_ORDER)
public class MySecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity httpSecurity) throws Exception {
httpSecurity
.authorizeRequests()
.antMatchers("/wxapi/**").permitAll();
}
}
RuoYi中已有com.ruoyi.framework.config.SecurityConfig
类,该类也继承了WebSecurityConfigurerAdapter
。WebSecurityConfigurerAdapter
的代码显示configure(HttpSecurity httpSecurity)
被调用后,立即生效。因此,第二个WebSecurityConfigurerAdapter
实现类中configure(HttpSecurity httpSecurity)
配置的HttpSecurity 示例不会生效。
参考
https://www.cnblogs.com/anenyang/p/12123308.html