- 浏览: 121349 次
- 性别:
- 来自: 成都
文章分类
- 全部博客 (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框架常用一些工具类整理
首先在struts.xml的配置中添加拦截器
然后是拦截器类:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.objectFactory" value="spring"></constant> <constant name="struts.action.extension" value="action,xhtml" /> <constant name="struts.i18n.encoding" value="UTF-8" /> <constant name="struts.custom.i18n.resources" value="com.gd.resource.template.LabelResources,com.gd.resource.privilege.LabelResources"></constant> <package name="ehrDefault" extends="struts-default"> <result-types> <result-type name="tiles" class="org.apache.struts2.views.tiles.TilesResult" /> </result-types> <interceptors> <interceptor name="admin" class="com.XX.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 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) { session.put("message", "请先登录!"); 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(); //此处获取请求的action及其方法 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; } }
发表评论
-
myeclipse根据wsdl文件生成webservice服务端
2017-05-22 11:38 1063java开发会经常涉及到接口开发,有时候会涉及调用对方提供 ... -
spring+mybatis+mysql示例
2017-03-02 14:06 508简单的增删查改spring + mybatis + ... -
java调用存储过程并封装成map
2016-10-21 10:20 1894public List<Map<String , ... -
javaweb工程服务器配置域名访问
2016-02-03 16:28 31481、申请域名: 例:www.baidu.com 2、apa ... -
java调用webservice接口
2016-01-19 11:56 0package com.mvc.controller; ... -
maven搭建javaweb项目
2015-06-19 15:08 502见链接:http://www.cnblogs.com/xdp- ... -
java数据库连接池操作
2015-06-19 13:57 670一、应用程序直接获取 ... -
BigDecimal在实际项目的应用及遇到的问题
2015-01-28 11:46 624BigDecimal在实际项目的应用及遇到的问题 2013-0 ... -
java操作系统的进程
2014-06-13 14:07 6941、windows下调用dos命令,很简单的java代码: ... -
DB2、oracle和mysql语句的日期对比及字符串截取
2014-06-13 10:07 3252一、在数据库查询中,我们会经验遇到日期的对比,在常用数据库中, ... -
dwr基于struts2和spring2.5的配置详解
2014-03-27 14:08 1139第一步:web.xml配置; <servlet> ... -
java字符串过滤回车和换行符
2014-01-14 15:20 22849//第一种方式 import java.util.reg ... -
oracle常用功能语句
2013-12-23 14:25 680<!--新建用户--> create ... -
java获取随机数
2013-12-17 16:50 16791、获取num个不大于range的随机数 /** * ... -
基于数据库lucence 3.6.2多字段配合多关键字的模糊查询
2013-12-06 10:52 1060一、首先是从数据库查询数据并添加索引 /** * 写 ... -
db2日期对比的sql,并读取xml字段数据
2013-12-06 10:47 763date(char(XML2CLOB( xmlquery( ... -
java打开拼接的rul链接并带上参数
2013-11-26 09:50 1018//判断当前系统是否支持Java AWT Desktop ... -
java调用windows应用程序
2013-11-20 11:35 736public static void main(Strin ... -
hibernate的hql查询多对多查询
2013-11-08 12:04 3944在hibernate的hql查询中,假如说分组信息与试 ... -
struts2的基于拦截器的权限设计
2013-09-22 17:21 9221、struts-config.xml中的配置 <p ...
相关推荐
2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 ...
2、拦截器实现用户权限检查功能 3、拦截器自动生成日志 4、未登录非法访问页面检测 5、三种方式日志的生成 6、页面访问计数 7、选中页面对应的帮助页面实现 8、根据页面编号或名称跳转页面 9、数据库连接池 10、页面...
又实现了权限拦截器、项目监听器、单元测试等功能。 页面简洁大气美观,系统耦合度小,可配置度高,几乎包含了全部常用功能,是很好的学习和使用框架,可直接部署测试。 项目访问路径:...
第26章 权限管理系统(struts 2.x+spring+jpa) 26.1 权限管理系统简述 26.2 权限管理系统前期准备 26.3 权限管理系统具体实现——关联表操作 26.4 权限管理系统具体实现——模块操作 26.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...
4.容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能 5.容器提供了众多的辅助类,能加快应用的开发 6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等 7.spring属于低侵入...
{12.9} 授权与回收权限}{161}{section.12.9} {12.10}示例}{162}{section.12.10} {12.10.1}exists}{165}{subsection.12.10.1} {12.11}集合操作}{165}{section.12.11} {12.11.1}union}{166}{subsection.12.11.1} ...
action:存放struts2控制类的包 dao:数据库访问封装 enm:系统中使用到的常量包,这里不是用的常量,用的是枚举替代常量 entity:hibernate对应的orm与数据库表一一对应的实体类 filter:Log4jFormatFilter(格式化...
2)、前端控制器使用Struts2。 3)、IOC容器使用Spring。 4)、ORM使用JPA,默认实现是Hibernate。 5)、内置搜索(OSEM)使用Compass。 6)、认证授权使用SpringSecurity。 7)、代码生成使用Freemarker。 8)、日志...
25.1 AOP联盟(MethodInvocation)安全拦截器 197 25.1.1显式MethodSecurityInterceptor配置 197 25.2 AspectJ(JoinPoint)安全拦截器 198 26.基于表达式的访问控制 200 26.1概述 200 26.1.1通用内置表达式 201 ...