一、对某个方法加上权限访问
①在方法上加上这个注解@ps是spring容器中的一个服务类,我们自己实现的,不采用springSecurity的权限校验方法,hasPermission是ps中的一个判断权限的方法,参数是权限
②实现ps这个类
@Service("ps")
public class PermissionService {
@Autowired
private MenuService menuService;
/**
* 自定义权限校验类,替换springSecurity的,判断当前用户是否具有permission
* @param permission 要判断的权限
* @return
*/
public boolean hasPermission(String permission){
//如果是超级管理员,直接返回true,也就是具有该权限
if (SecurityUtils.isAdmin()){
return true;
}
//获取普通用户的所有权限,然后判断permission是否包含在内
Long userId = SecurityUtils.getUserId();
List<String> perms = menuService.selectPermsByUserId(userId);
return perms.contains(permission);
}
}