你说的这个可以用aop, 我以前也是这么用的,在做一件事情前判断这个user是否有足够的权限。用前增加就行, 不用环绕增强吧
解决方案 »
- struts2 default-action-ref的问题
- 如何用SSH实现仿SongTaste网站
- 关于struts2 我后台需要一个对象,前台怎么编写?
- 短信发送相关问题
- 简单但困绕初学者的问题
- eclipse中不认识java.servlet.*
- properties文件定位问题
- servlet 中 怎么 反射(reflect)不好用啊~周围的同事都不知道,帮帮我!谢谢
- 100分 tomcat 连接sqlserver时 (在tomcat启动的dos界面中出现超时连接,但程序连接数据库没问题 ,这是怎么回事啊???
- 关于spark+openfire开发的问题
- 那位大哥可以帮我看下应该怎么做,非常紧急,谢谢
- web应用想要达到完全的线程安全,需要注意哪些地方?
不是spring的增强...搞混了, ..
spring的前后增强无返回值,只有环绕增强MethodInterceptoer可以返回Object,你可以用环绕.
或者前增强抛出异常,表明权限不够.这也是可以的...
public String visiteDocument(Doc doc){
doc.open();
return somestring;
} 对这个方法用环绕的时候,我想不明白了:
环绕它的返回指好像是拦截方法visiteDocument的返回值somestring(如下),这样的话,其实方法已经执行完了,起不到权限控制的作用,是不是我理解错了?
public class LoginAroundAdvice implements MethodInterceptor {
public object invoke(MethodInvocation invo) throws Throwable{
Object[] args = invo.getArguments();
if (!args[0].equals("admin")) {
throw new SecurityException("Rejected");
}
return invo.proceed();
}
}这段保证非admin不能调用visiteDocument方法
你看他父类有没有那个方法
我给你的例子是跑错测试的晕阿你试过了再说啊, 怎么就说我误导你呢