社区
Java EE
帖子详情
spring aop 权限
kayzombie
2009-11-25 12:14:05
我的Action 继承DispatchAction我想用spring 拦截器获取被拦截的方法名?现在得到的方法名总是execute,怎么得到action中真实的方法名啊?
...全文
123
14
打赏
收藏
spring aop 权限
我的Action 继承DispatchAction我想用spring 拦截器获取被拦截的方法名?现在得到的方法名总是execute,怎么得到action中真实的方法名啊?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
panhaichun
2009-11-25
打赏
举报
回复
我靠,跟你说这么清楚了。
struts1所有的action方法调用都先经过execute。
DispatchAction里面的execute就是根据method参数的值来调用其它方法的,因为用的反射,aop拦截不到了,你重写execute方法,根据method参数的值和权限配置,没权限直接退出不去调用action方法不就行了。
public class BaseAction extends DispatchAction {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
if (isRoleAllow(request)) {
return super.execute(......);
} else {
返回权限出错页面或抛出异常等。。。。
}
}
//检查权限
protected boolean isRoleAllow(HttpServletRequest request) {
String method = request.getParamenter(你配置的参数名称);
////if ("save".equals(method)) {//假设save是添加}
////if ("delete".equals(method)) {//假设delete是删除}
读你的权限表判断当前用户有没有权限返回true或false不就行了
return ...
}
}
kayzombie
2009-11-25
打赏
举报
回复
那我现在这种情况该怎么解决啊?
panhaichun
2009-11-25
打赏
举报
回复
楼主你去看下DispatchAction的源代码不是啥的明白了
panhaichun
2009-11-25
打赏
举报
回复
我知道你是这个意思
kayzombie
2009-11-25
打赏
举报
回复
写一个基类继承DispatchAction,重写execute方法,在里面加入你的权限判断逻辑。
另外还可以考虑在别的地方拦截啊
[/Quote]
简单的说就是我有一个action它继承DispatchAction 里面有对客户资料的增,删,改方法,现在我就想在执行增,删,改方法之前判断该用户是否有这个权限?
kayzombie
2009-11-25
打赏
举报
回复
各位帮帮忙啊急~~现在我的Action中有一个方法方法名为showCompanyCusInfo我想用spring的拦截器拦截这个方法并获取到这个方法名,现在得到的方法名总是execute!怎么得到真实的方法名啊?
panhaichun
2009-11-25
打赏
举报
回复
[Quote=引用 4 楼 kayzombie 的回复:]
那有没有什么好的解决方法啊?我现在用的是SSH框架要做权限而且权限还比较细粒。
[/Quote]
写一个基类继承DispatchAction,重写execute方法,在里面加入你的权限判断逻辑。
另外还可以考虑在别的地方拦截啊
kayzombie
2009-11-25
打赏
举报
回复
那有没有什么好的解决方法啊?我现在用的是SSH框架要做权限而且权限还比较细粒。
panhaichun
2009-11-25
打赏
举报
回复
execute里面用反射调用的方法 AOP是拦截不到的
kayzombie
2009-11-25
打赏
举报
回复
<bean class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">
<property name="beanNames">
<list><value>/customAction</value></list>
</property>
<property name="interceptorNames">
<list><value>authorCustomInter</value></list>
</property>
</bean>
<bean id="authorCustomInter" class="com.psit.struts.action.AuthorityCustomInterceptor"/>
youjianbo_han_87
2009-11-25
打赏
举报
回复
看看你 aop 地方的配置。。。。。。。。。
kayzombie
2009-11-25
打赏
举报
回复
第一次做权限没经验不太清楚怎么做~~先谢啦,一直都想用spring拦截器的~~那我这种情况是不是spring拦截器就不好用啦?
youjianbo_han_87
2009-11-25
打赏
举报
回复
[Quote=引用 4 楼 kayzombie 的回复:]
那有没有什么好的解决方法啊?我现在用的是SSH框架要做权限而且权限还比较细粒。
[/Quote]
spring securetiy可以吗?
NeverGiveUp2016
2009-11-25
打赏
举报
回复
建议使用struts2 .
spring
-
aop
实例demo
spring
3.2.8使用
aop
的简单实例
基于
spring
security+
spring
mvc+
spring
+hibernate的
权限
管理系统(免积分)
基于
spring
security+
spring
mvc+
spring
+hibernate的
权限
管理系统,实现资源、用户、
权限
、角色的增删改查,角色-资源管理,用户-角色管理等基础功能,可以作为
spring
mvc+
spring
+hibernate的增删改查入门项目,也可以对
spring
-security简单了解,界面使用bootstrap3,非常简洁,免积分
权限
管理 struts2 hiberante3.5
spring
3.0 annotation
学习struts2+hiberanate3.5+
spring
3.0 (annotation)的好项目
spring
MVC框架,jar包齐全程序文件
spring
MVC开发框架,导入到开发工具后可以直接在此基础之上进行功能模块开发。该项目整合了基本的数据操作,给大家留下了可拓展的空间。另外该项目jar包齐全,免去你整合jar包的困扰。
SSH2框架搭建实例源码
SSH2框架搭建实例(
spring
3.2+strust2.3.4+hibernate4.2)全部采用最新版本.演示了用户登录和用户管理
Java EE
67,542
社区成员
225,857
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章