springMVC注解方式实现权限思路:
1.用户登录时将权限表存入session,功能值用2的n次方累加.如:删除的修改的权限值为1,删除的权限值为2,增加的权限值为4,验证时使用:总值&权限值==权限值的方式(1+2+4)&2==2
2.实现自定注解:
@Target(ElementType.METHOD)//注解可用范围
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Authority {
PowerItem power();
}
3.建立枚举类,将所有功能信息写入,并提供get方法:
public enum PowerItem {
/**
* 权限
* enum(上级菜单,值,描述)
*/
CURRENTRECORD_SETERROR(101,1,"当日缴费-转入出错"),
CURRENTRECORD_SETESUCCESS(101,2,"描述"),
CURRENTRECORD_SUPENDPAY(101,4,"描述"),
BACKRECORD_CONFIRM(104,4,"描述");
private int powerid;
private String name;
private int pvalue;
private PowerItem(int powerid,int pvalue,String name) {
this.powerid=powerid;
this.name=name;
this.pvalue=pvalue;
}
public String getName() {
return