//配置可以访问的路径 filterRuleMap.put("/login/**","anon"); 在login类中为什么有部分依然呗拦截
时间: 2024-02-26 10:55:14 浏览: 18
在配置文件中,我们使用了`filterRuleMap.put("/login/**","anon")`来表示所有以`/login/`开头的路径都不需要进行身份验证,即可以匿名访问。但是,在`login`类中可能会存在一些需要身份验证的方法或者需要进行权限控制的资源,这些方法或资源依然会被拦截,因为我们只是取消了对登录页面的身份验证要求,而对于其他需要身份验证或者权限控制的资源,我们仍然需要对其进行身份验证或者权限控制。所以,如果在`login`类中存在需要身份验证或者权限控制的方法或资源,那么它们仍然会被拦截。
相关问题
// 添加拦截器 Map<String, String> filterRuleMap = new LinkedHashMap<>(); //配置可以访问的路径 filterRuleMap.put("/login/**","anon"); //对所有请求认证,这一步必须放在后面,不然会有问题 //filterRuleMap.put("/**", "user"); filterRuleMap.put("/login/**", "jwt"); filterRuleMap.put("/**", "jwt"); shiroFilterFactoryBean.setFilterChainDefinitionMap(filterRuleMap);
这段代码是在shiro的配置文件中配置过滤器链,用于控制请求的访问权限。具体来说,该过滤器链包括了以下几个过滤器:
1. anon:匿名访问,即不需要认证和授权就可以访问的路径。
2. user:用户认证过滤器,即需要用户进行认证后才能访问的路径。
3. jwt:集成jwt的认证过滤器,用于对请求进行jwt认证。
在上面的代码中,首先配置了可以匿名访问的路径"/login/**",然后配置了对所有请求进行认证,但是这一步配置被注释掉了,因为这会导致所有请求都需要进行用户认证,不符合实际需求。接下来配置了"/login/**"和"/**"路径需要经过jwt认证。
需要注意的是,filterRuleMap中的键表示请求路径,值表示该请求需要经过哪个过滤器进行处理。在配置过滤器链时,过滤器的顺序非常重要,因为请求会按照过滤器链中的顺序依次进行处理。如果某个请求满足了多个过滤器的要求,那么它会按照过滤器链中的顺序依次经过这些过滤器。
filterRuleMap.put("/login/**", "anon"); 配置以后,部分/login下面的资源依然会呗拦截
如果在配置文件中使用`filterRuleMap.put("/login/**", "anon")`将`/login`下的所有资源都设置为放行,但是部分资源仍然被拦截,可能是因为以下原因:
1. 部分资源并不是以`/login`开头,可能是以`/login`的子路径开头,比如`/login/user`,这些资源仍然需要进行身份验证或者权限控制。
2. 部分资源虽然以`/login`开头,但是它们所处的`Controller`类并不是`/login`类,可能是其他类中的方法,这些方法依然需要进行身份验证或者权限控制。
如果以上两种情况都不是原因,那么可能是配置文件中的其他规则对`/login`下的资源进行了拦截。此时可以检查一下配置文件中的其他规则,确保没有对`/login`下的资源进行其他的身份验证或者权限控制。
另外,需要注意的是,如果`/login`类中存在一些需要身份验证或者权限控制的方法或资源,那么它们仍然需要进行身份验证或者权限控制。因此,在设置访问规则时,需要根据实际情况进行合理的设置,确保系统的安全性。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)