shrio框架那个注解可以对指定路径不校验登录
时间: 2024-11-03 22:13:50 浏览: 29
SHIRO (Security Handler for Java and Objects) 是一个强大的权限管理框架,用于提供Web应用程序的安全控制。在SHIRO中,如果你想对特定的URL路径跳过认证检查,你可以使用 `@PermitAll` 或 `@DenyAll` 注解配合 `AuthorizationAttribute` 来达到目的。
当你想要允许所有用户访问某一段路径,可以在需要的Controller方法上添加 `@PermitAll` 注解,例如:
```java
@Controller
public class PublicController {
@GetMapping("/publicPath")
@PermitAll
public String handlePublicRequest() {
return "publicPage";
}
}
```
如果你在过滤器层面想跳过验证,可以使用 `NoOpAuthorizingFilter`:
```java
@Bean
public FilterRegistrationBean securityFilterChainDefinitionFilter() {
FilterRegistrationBean filter = new FilterRegistrationBean(new NoOpAuthorizingFilter());
// 设置你需要忽略的URL前缀,如"/public/"
filter.setUrlPatterns(Arrays.asList("/public/*"));
return filter;
}
```
这会让对 `/public/` 路径的所有请求都不经过Shiro的授权检查。
阅读全文