spring boot与shiro整合的很多这个不用多赘述,主要分享下过滤器这块
shiro中的部分过滤器
anon过滤器:用于处理匿名访问,即不需要身份验证的URL。
authc过滤器:用于进行身份验证,如果身份验证失败,将会返回一个HTTP 401 Unauthorized响应。
authcBasic过滤器:用于进行HTTP基本身份验证,如果身份验证失败,将会返回一个HTTP 401 Unauthorized响应。
authcBearer过滤器:用于进行OAuth2授权,如果授权失败,将会返回一个HTTP 401 Unauthorized响应。
perms过滤器:用于检查用户是否具有指定权限,如果用户没有指定权限,将会返回一个HTTP 403 Forbidden响应。
port过滤器:用于检查请求的端口是否与配置文件中指定的端口匹配,如果不匹配,将会返回一个HTTP 403 Forbidden响应。
rest过滤器:用于处理RESTful请求,例如GET、POST、PUT、DELETE等。
ssl过滤器:用于检查请求是否使用安全连接,如果不使用安全连接,将会返回一个HTTP 403 Forbidden响应。
user过滤器:用于检查用户是否已经登录,如果用户未登录,将会返回一个HTTP 401 Unauthorized响应
上述过滤器各自对应了一个具体的实现类,需要的找对应的过滤器
anon->AnonymousFilter
authc->FormAuthenticationFilter
authcBasic->BasicHttpAuthenticationFilter
roles->RolesAuthorizationFilter
正常流程会在ShiroConfig中配置下部分代码
@Bean
public CustomHttpAuthenticationFilter customHttpAuthenticationFilter(){
return new CustomHttpAuthenticationFilter();
}
@Bean
public CustomRolesAuthenticationFilter customRolesAuthenticationFilter(){
return new CustomRolesAuthenticationFilter();
}
@Bean
public ShiroFilterFactoryBean shiroFilterFactoryBean(DefaultWebSecurityManager defaultWebSecurityManager) {
ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
shiroFilterFactoryBean.setSecurityManager(defaultWebSecurityManager)