社区
Java EE
帖子详情
spring aop 权限
kayzombie
2009-11-25 12:14:05
我的Action 继承DispatchAction我想用spring 拦截器获取被拦截的方法名?现在得到的方法名总是execute,怎么得到action中真实的方法名啊?
...全文
142
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
基于注解实现用户
权限
校验
本文介绍如何使用
Spring
AOP
和自定义注解实现
权限
校验功能。包括引入
AOP
依赖、定义
权限
注解、编写
AOP
切面类及测试案例。
Spring
Security核心揭秘:
AOP
如何优雅控制
权限
?
本文深入剖析
Spring
Security如何基于
AOP
实现方法级
权限
控制,重点讲解@PreAuthorize注解的原理、PreAuthorizeAspect切面实现、AbstractMethodInterceptorAspect拦截机制及完整
权限
检查流程。阐述其无侵入性、集中管理和细粒度控制等优势,并指出底层依赖
Spring
AOP
与AspectJ、SpEL表达式引擎及SecurityContext
权限
评估体系。
基于
spring
AOP
的
权限
校验
本文介绍了一个基于
Spring
AOP
实现的
权限
校验处理类,通过拦截注解来验证用户是否具有管理员
权限
,确保了系统的安全性。文章详细展示了如何使用MyBatis Plus查询用户角色,并在
权限
不足时返回特定的错误信息。
Spring
AOP
权限
管理
本文介绍了一种基于
Spring
AOP
的细粒度
权限
管理系统。该系统将业务层方法作为
权限
管理资源,通过拦截器实现
权限
验证。具体展示了如何配置
Spring
AOP
及其实现的示例代码。
spring
aop
实现
权限
管理
本文介绍如何使用
Spring
AOP
进行
权限
管理,通过定义切点和切面,实现对只读管理员和其他特定
权限
管理员的操作限制。文章详细解释了配置文件的设置和具体的代码实现,包括对不同管理员角色的
权限
判断。
Java EE
67,535
社区成员
225,844
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章