使用structs2的拦截器判断用户权限的操作
来源:互联网 发布:彩票销售软件 编辑:程序博客网 时间:2024/06/04 06:02
public String intercept(ActionInvocation invocation) throws Exception {
// TODO Auto-generated method stub
String viewName = "error";
Class actionClass = invocation.getAction().getClass();//获得执行action的class
String methodName = invocation.getProxy().getMethod();//获得执行方法的名字
Method method = actionClass.getMethod(methodName);//根据反射获得执行方法的metho
boolean isInvoke = true;//标记用户是否能够执行invocation.invoke()的方法
if(method!=null&&method.isAnnotationPresent(Permission.class)){//根据要访问的目标方法上的自定义Perssion注解信息判断是否有权限访问该方法
Permission permission = method.getAnnotation(Permission.class);//获取方法上的Permission注解
String model = permission.model();//获取注解上的model的值
String privilege = permission.privlege();//获取注解上的privilege的值
/**
* ActionContext actionContext = invocation.getInvocationContext();
actionContext.getSession().get("privilege");//获得session中的权限值
然后比较方法上的权限值和session中的权限值 进行权限控制
*/
if(!"depart".equals(model)||!"add".equals(privilege)){//判断注解的值和用户的权限是否一致
System.out.println("你没有有权限访问");
isInvoke = false;
}
}
if(isInvoke){
System.out.println("你有权限访问");
viewName = invocation.invoke();
}
return viewName;
}
// TODO Auto-generated method stub
String viewName = "error";
Class actionClass = invocation.getAction().getClass();//获得执行action的class
String methodName = invocation.getProxy().getMethod();//获得执行方法的名字
Method method = actionClass.getMethod(methodName);//根据反射获得执行方法的metho
boolean isInvoke = true;//标记用户是否能够执行invocation.invoke()的方法
if(method!=null&&method.isAnnotationPresent(Permission.class)){//根据要访问的目标方法上的自定义Perssion注解信息判断是否有权限访问该方法
Permission permission = method.getAnnotation(Permission.class);//获取方法上的Permission注解
String model = permission.model();//获取注解上的model的值
String privilege = permission.privlege();//获取注解上的privilege的值
/**
* ActionContext actionContext = invocation.getInvocationContext();
actionContext.getSession().get("privilege");//获得session中的权限值
然后比较方法上的权限值和session中的权限值 进行权限控制
*/
if(!"depart".equals(model)||!"add".equals(privilege)){//判断注解的值和用户的权限是否一致
System.out.println("你没有有权限访问");
isInvoke = false;
}
}
if(isInvoke){
System.out.println("你有权限访问");
viewName = invocation.invoke();
}
return viewName;
}
- 使用structs2的拦截器判断用户权限的操作
- Structs2中拦截器的使用与详解
- Structs2的拦截器与过滤器区别
- struts2 使用拦截器 实现用户权限的验证
- structs2中interceptor(拦截器)的种类
- structs2拦截器的实现原理和源码剖析
- Structs2拦截器详解
- Structs2拦截器详解
- interceptor--structs2拦截器
- Structs2过滤器拦截器
- structs2拦截器原理
- oracle数据库的使用一----用户权限操作
- 用struts的拦截器实现用户权限控制
- Jsp的filter拦截器实现用户权限分级
- Liferay theme,用户权限的判断
- Linux 下的用户权限操作
- 拦截器的使用
- 拦截器的使用
- input子系统
- Winform添加App.config(原)
- HDU1402
- poj——2230——Watchcow(欧拉路+dfs)
- ASP.NET学习篇之——初识框架
- 使用structs2的拦截器判断用户权限的操作
- codeblocks快捷键
- (多项式运算4.7.6)POJ 2527 Polynomial Remains(多项式除法)
- 链接MySQL数据库出现CannotCreateTransactionException
- Android双向滑动菜单完全解析,教你如何一分钟实现双向滑动特效
- 集线器与交换机的区别
- 【C++进阶】类别互相引用(Class include each other)
- hdu 4089 Activation(概率dp)
- 僵尸进程《留给自己学着玩》