权限管理和日志拦截器

上传人:笛音 文档编号:25480005 上传时间:2017-12-14 格式:DOCX 页数:7 大小:31.22KB
返回 下载 相关 举报
权限管理和日志拦截器_第1页
第1页 / 共7页
权限管理和日志拦截器_第2页
第2页 / 共7页
权限管理和日志拦截器_第3页
第3页 / 共7页
权限管理和日志拦截器_第4页
第4页 / 共7页
权限管理和日志拦截器_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《权限管理和日志拦截器》由会员分享,可在线阅读,更多相关《权限管理和日志拦截器(7页珍藏版)》请在金锄头文库上搜索。

1、日志拦截器package com.yuanit.app.interceptor;import java.util.Date;import java.util.Map;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.yuanit.app.action.AdminAction;import com.yuanit.ap

2、p.model.Log;import com.yuanit.app.model.Member;import com.yuanit.app.model.Permission;import com.yuanit.app.model.Role;import com.yuanit.app.service.ILogService;import com.yuanit.app.service.IMemberService;import com.yuanit.app.service.IPermissionService;import com.yuanit.app.util.AppConstants;impor

3、t com.yuanit.sys.action.GenericAction;import com.yuanit.sys.util.EEMediaBeanFactory;public class LogInterceptor extends AbstractInterceptor Overridepublic String intercept(ActionInvocation invocation) throws Exception / TODO Auto-generated method stubString result = invocation.invoke();ActionContext

4、 ctx = invocation.getInvocationContext();Map session = ctx.getSession();Member member = (Member) session.get(AppConstants.LOGIN_MEMBER);Role role = (Role) session.get(AppConstants.LOGIN_ROLE);String url = /;StringBuffer urlStringBuffer = new StringBuffer(url);String actionName = invocation.getInvoca

5、tionContext().getName(); String args = actionName.split(AppConstants.ACTION_SPLIT_CHAR);urlStringBuffer.append(actionName);urlStringBuffer.append(.action); if(args1.indexOf(AppConstants.ACTION_INDEXOF_DO) = 0) if(args1.indexOf(doEdit) = 0) GenericAction genericAction = (GenericAction)invocation.getA

6、ction();int id = genericAction.getId();if(id != 0) urlStringBuffer.append(?id=); url = urlStringBuffer.toString();IPermissionService permissionService = EEMediaBeanFactory.getService(IPermissionService.class); /IMemberService memberService = EEMediaBeanFactory.getService(IMemberService.class);/IRole

7、Service roleService = EEMediaBeanFactory.getService(IRoleService.class);Permission permission = permissionService.getPermission(url); ILogService logService = EEMediaBeanFactory.getService(ILogService.class); Log log = new Log();if(permission != null) String operateDescription = permission.getPermis

8、sionDesc();int operateRole = role.getId();int operateMember = member.getId();Long operateDate = new Date().getTime();log.setOperateDate(operateDate);log.setOperateDescription(operateDescription);log.setOperateMember(operateMember);log.setOperateRole(operateRole);logService.createLog(log); return res

9、ult;权限拦截器package com.yuanit.app.interceptor;import java.util.Map;import com.opensymphony.xwork2.Action;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import com.yuanit.app.dao.IRoleDAO;import

10、 com.yuanit.app.model.Permission;import com.yuanit.app.model.Role;import com.yuanit.app.service.IPermissionService;import com.yuanit.app.util.AppConstants;import com.yuanit.sys.util.EEMediaBeanFactory;public class PermissionValidateInterceptor extends AbstractInterceptor Overridepublic String interc

11、ept(ActionInvocation invocation) throws Exception ActionContext ctx = invocation.getInvocationContext();String actionName = invocation.getProxy().getActionName();if (AppConstants.ADMIN_GOLOGIN_ACTION.equals(actionName)| AppConstants.ADMIN_DOLOGIN_ACTION.equals(actionName)| AppConstants.ADMIN_GOINDEX

12、_ACTION.equals(actionName)| AppConstants.ADMIN_GOLEFT_ACTION.equals(actionName)| AppConstants.PERMISSION_GETSUBPERMISSIONS_ACTION.equals(actionName) return invocation.invoke();String args = actionName.split(AppConstants.ACTION_SPLIT_CHAR);if (args1.indexOf(AppConstants.ACTION_INDEXOF_GO) = 0) Map se

13、ssion = ctx.getSession();Role role_login = (Role) session.get(AppConstants.LOGIN_ROLE);if (role_login = null) session.put(AppConstants.INTERCEPTOR_MESSAGE, 您还没有登录,请先登录!);return Action.ERROR;IRoleDAO roleDAO = EEMediaBeanFactory.getService(IRoleDAO.class);Role role = roleDAO.findRole(role_login.getId

14、();String role_permission = role.getRolePermissions();String url = /;StringBuffer urlStringBuffer = new StringBuffer(url);urlStringBuffer.append(actionName);urlStringBuffer.append(.action);url = urlStringBuffer.toString();IPermissionService permissionService = EEMediaBeanFactory.getService(IPermissi

15、onService.class);Permission permission = permissionService.getPermission(url);if (role_permission.contains(permission.getId().toString() return invocation.invoke(); else session.put(AppConstants.INTERCEPTOR_MESSAGE, 您没有权限访问此页面!);return Action.ERROR; else return invocation.invoke();Struts 中的配置日志拦截器的辅

16、助调用方法一:package com.yuanit.sys.utilpublic static T getService(Class clz) if (ctx = null) throw new RuntimeException(application context wasnt intialized); String beanName = clz.getSimpleName();if (beanName.startsWith(I) beanName = beanName.substring(1);beanName = beanName.substring(0, 1).toLowerCase() + beanName.substring(1);return (T)ctx.getB

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号