- 浏览: 121105 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (47)
- 前端开发 (11)
- 数据库 (12)
- mongodb mongo 数据库 操作 (1)
- java (31)
- sping (6)
- hibernate (6)
- 博客 (1)
- 借鉴 (1)
- lhgdialog (1)
- jequery (3)
- struts2 (8)
- CXF (1)
- WEBSERVICE (3)
- SSH (9)
- 工具类 (4)
- email (1)
- 邮件 (1)
- 发送 (1)
- db2查询 (2)
- 日期对比 (1)
- lucence (1)
- js (2)
- 浮动 (1)
- 弹出层 (1)
- oracle (6)
- mysql (2)
- 进程 (1)
- windows (1)
- axis (1)
- 存储过程 (1)
- 游标 (1)
- oracle,游标 (1)
最新评论
-
xiangyongit:
新手看不懂呀,能不能稍微加些备注
js实现点击复制 -
小二黑:
mark 0000
dwr基于struts2和spring2.5的配置详解 -
QuarterLifeForJava:
不错,虽然有点少 。谢谢分享。
SSH框架常用一些工具类整理
1、struts-config.xml中的配置
2、拦截类
在以上拦截类中。系统会拦截到类似于loginAction.islogin这样的请求,在配置中我们将这样的请求手动录入数据库,然后根据当前用户查询该请求是否授权于用户(该块功能自己设计,比较简单),在用户登录时即将这样授权用户的请求数据取出放入session,在页面中用fn标签进行这样的判断:
如果授权了,则该功能链接显示并能使用。
<package name="ehrDefault" extends="struts-default"> <interceptors> <interceptor name="admin" class="com.gd.interceptor.AdminInterceptor" /> <interceptor-stack name="requireLogin"> <interceptor-ref name="defaultStack" /> <interceptor-ref name="admin" /> </interceptor-stack> </interceptors> <default-interceptor-ref name="requireLogin" /> <global-results> <result name="login" type="redirect">/index.jsp</result> </global-results> </package>
2、拦截类
package com.gd.interceptor; import java.util.Map; import javax.servlet.ServletContext; import org.apache.commons.lang.StringUtils; import org.apache.struts2.ServletActionContext; import org.springframework.context.ApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.gd.po.Userinfo; import com.gd.service.ISecurityPermissionManager; import com.gd.service.ISecurityUserManager; import com.opensymphony.xwork2.Action; import com.opensymphony.xwork2.ActionInvocation; import com.opensymphony.xwork2.interceptor.AbstractInterceptor; public class AdminInterceptor extends AbstractInterceptor { private static final long serialVersionUID = 7426957840297915277L; @Override public String intercept(ActionInvocation ai) throws Exception { Map<String, Object> session = ai.getInvocationContext().getSession(); if (session == null) { return Action.LOGIN; } Userinfo user = (Userinfo) session.get("user"); if (user == null) { return Action.LOGIN; } // 用户访问Action权限判断 if (!actionAuthority(ai, session)) { return Action.LOGIN; } return ai.invoke(); } public boolean actionAuthority(ActionInvocation ai, Map<String, Object> session) { // 用户访问Action权限判断 ServletContext sc = ServletActionContext.getServletContext(); String permission = ai.getProxy().getActionName().toLowerCase() + "." + ai.getProxy().getMethod().toLowerCase(); ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(sc); ISecurityUserManager securityUserManager = (ISecurityUserManager) context.getBean("securityUserManager"); ISecurityPermissionManager securityPermissionManager = (ISecurityPermissionManager) context.getBean("securityPermissionManager"); if(!securityPermissionManager.checkIsRepeatPermission(permission)){ return true; } if(securityUserManager!=null){ Userinfo userInfo=(Userinfo)session.get("user"); return securityUserManager.checkPrivilege(userInfo.getUserName(),permission); } return true; } }
在以上拦截类中。系统会拦截到类似于loginAction.islogin这样的请求,在配置中我们将这样的请求手动录入数据库,然后根据当前用户查询该请求是否授权于用户(该块功能自己设计,比较简单),在用户登录时即将这样授权用户的请求数据取出放入session,在页面中用fn标签进行这样的判断:
<c:if test="${fn:containsIgnoreCase(permissions, 'classiccasesaction.list')}"> <li><a href="ClassicCasesAction!list.action" target="main">病例自学</a></li> </c:if>
如果授权了,则该功能链接显示并能使用。
发表评论
-
myeclipse根据wsdl文件生成webservice服务端
2017-05-22 11:38 1057java开发会经常涉及到接口开发,有时候会涉及调用对方提供 ... -
spring+mybatis+mysql示例
2017-03-02 14:06 501简单的增删查改spring + mybatis + ... -
java调用存储过程并封装成map
2016-10-21 10:20 1889public List<Map<String , ... -
javaweb工程服务器配置域名访问
2016-02-03 16:28 31361、申请域名: 例:www.baidu.com 2、apa ... -
java调用webservice接口
2016-01-19 11:56 0package com.mvc.controller; ... -
maven搭建javaweb项目
2015-06-19 15:08 496见链接:http://www.cnblogs.com/xdp- ... -
java数据库连接池操作
2015-06-19 13:57 663一、应用程序直接获取 ... -
BigDecimal在实际项目的应用及遇到的问题
2015-01-28 11:46 620BigDecimal在实际项目的应用及遇到的问题 2013-0 ... -
java操作系统的进程
2014-06-13 14:07 6911、windows下调用dos命令,很简单的java代码: ... -
DB2、oracle和mysql语句的日期对比及字符串截取
2014-06-13 10:07 3243一、在数据库查询中,我们会经验遇到日期的对比,在常用数据库中, ... -
dwr基于struts2和spring2.5的配置详解
2014-03-27 14:08 1129第一步:web.xml配置; <servlet> ... -
java字符串过滤回车和换行符
2014-01-14 15:20 22844//第一种方式 import java.util.reg ... -
oracle常用功能语句
2013-12-23 14:25 674<!--新建用户--> create ... -
java获取随机数
2013-12-17 16:50 16721、获取num个不大于range的随机数 /** * ... -
基于数据库lucence 3.6.2多字段配合多关键字的模糊查询
2013-12-06 10:52 1055一、首先是从数据库查询数据并添加索引 /** * 写 ... -
db2日期对比的sql,并读取xml字段数据
2013-12-06 10:47 761date(char(XML2CLOB( xmlquery( ... -
java打开拼接的rul链接并带上参数
2013-11-26 09:50 1010//判断当前系统是否支持Java AWT Desktop ... -
java调用windows应用程序
2013-11-20 11:35 731public static void main(Strin ... -
hibernate的hql查询多对多查询
2013-11-08 12:04 3941在hibernate的hql查询中,假如说分组信息与试 ... -
java的oracle数据库用hql语句(orcal)对日期进行范围对比
2013-09-22 17:12 4199/**取当前时间30分钟前的*/ Date date = ...
相关推荐
STRUTS2拦截器控制页面访问权限的设计与实现,解决基于STRUTS2的web应用的程序访问控制,防止非法访问
(4) 使用拦截器,阻止用户注册页面的重复提交。 (5) 用户登陆成功之后,能够修改自己的密码,要求修改密码的时候,新旧密码在一个文本框输入(用,分割),通过使用自定义类型转换完成新旧密码的拆分工作。
124 8.5.2 拦截器的实现原理 124 8.5.3 Struts2的内置拦截器 124 8.5.4 拦截器的配置和使用 125 8.5.5 自定义拦截器 126 8.6 一个简单的Struts2应用 130 8.7 小结 140 第9章 JSF 141 9.1 JSF技术简介 141 9.1.1 JSF...
随着计算机网络通信技术的发展,资源...利用拦截器和过滤器实现“用户、角色、权限”三维管控,使系统更加具有层次化和结构化。 本系统具有易用性、健壮性、严密性和实用性等特点,将现代化办公和计算机技术有机结合。
该文档是SSH框架为基础实现的BBS论坛。其中有整合好的全面的SSH jar包,BBS前台,后台源码,这个小系统的报告,数据库关系分析等。 以下内容摘自报告目录部分(希望...4.14 根据权限定义拦截器 4.15 测试系统相应的功能
4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 7.spring属于低侵入...
25.1 AOP联盟(MethodInvocation)安全拦截器 197 25.1.1显式MethodSecurityInterceptor配置 197 25.2 AspectJ(JoinPoint)安全拦截器 198 26.基于表达式的访问控制 200 26.1概述 200 26.1.1通用内置表达式 201 ...