java 自定义注解控制权限具体方法
时间: 2023-08-02 13:36:27 浏览: 78
Java自定义注解可以用来控制权限。下面是一个简单的例子:
首先定义一个注解:
```
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Permission {
String value() default "";
}
```
然后在需要控制权限的方法上加上这个注解,例如:
```
@Permission("admin")
public void addUser() {
// 添加用户的代码
}
```
最后,在拦截器中判断当前用户是否具有执行该方法的权限:
```
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Method method = ((HandlerMethod) handler).getMethod();
Permission permission = method.getAnnotation(Permission.class);
if (permission != null) {
String value = permission.value();
// 根据用户权限判断是否允许执行该方法
if (!user.hasPermission(value)) {
response.sendRedirect("/no_permission");
return false;
}
}
return true;
}
```
这样,只有具有"admin"权限的用户才能执行addUser()方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)
![](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)