@Target(value={TYPE,METHOD})
@Retention(value=RUNTIME)
@Documented
public @interface CheckRoleAccess
菜单资源校验,注解,用于校验菜单权限,替代CheckRoleAccess
,匹配规则是满足其中任意一个资源就判定为有权限
在系统中需要进行资源权限校验的场景,使用此注解进行声明,声明的方式有三种:1.spring controller @CheckRoleAccess(resourceCode = {"org_menu_orgtree"},roleTypes={Role_NAME.AccountAdministrator, Role_NAME.GroupAdmin}) public ModelAndView editAccount(HttpServletRequest request, HttpServletResponse response) throws Exception { @CheckRoleAccess(resourceCode = {"org_menu_orgtree","F02_taskPage"},roleTypes={Role_NAME.AccountAdministrator, Role_NAME.GroupAdmin}) public List
2.ajax方法 public class AccountManagerImpl extends AccountManager { @AjaxAccess @CheckRoleAccess(resourceCode = {"org_menu_orgtree"},roleTypes={Role_NAME.AccountAdministrator, Role_NAME.GroupAdmin}) public List
3、Rest接口 @CheckRoleAccess(resourceCode = {"org_menu_orgtree"},roleTypes={Role_NAME.AccountAdministrator, Role_NAME.GroupAdmin}) public class GuideResource extends BaseResource { @GET @Path("info") @CheckRoleAccess(resourceCode = {"org_menu_orgtree","F02_taskPage"},roleTypes={Role_NAME.AccountAdministrator, Role_NAME.GroupAdmin}) @RestInterfaceAnnotation(OpenExternal = External.NO, StartVersion = "V8.1") public Response guideInfo() {} }
题外话:请不要添加奇怪的功能
CheckRoleAccessManager
限定符和类型 | 可选元素和说明 |
---|---|
CheckRoleAccess.Define[] |
extend
自定义权限校验类
|
java.lang.String[] |
resourceCode
定义菜单资源,如["org_resource_tree"]
|
OrgConstants.Role_NAME[] |
roleTypes
角色类型
|
public abstract java.lang.String[] resourceCode
public abstract OrgConstants.Role_NAME[] roleTypes
public abstract CheckRoleAccess.Define[] extend
CheckRoleAccessManager
,
CheckRoleAccess.Define