【发布时间】:2011-02-05 13:22:00
【问题描述】:
我正在测试 Spring AOP 框架并有以下问题。
我有以下代码:
package danny.test.controllers;
@Controller
public class MyController{
@Autowired
private DaoService service;
@RequestMapping(value="/save",method = RequestMethod.POST)
public String addUser(@Valid MyClass myClass, BindingResult result){
service.save(myClass);
return "Ok";
}
我想在 Advice 方面创建以检查用户会话中的用户安全性。
@Aspect
public class Profiler {
@Pointcut("execution(* danny.test.services.DaoServices.*.*(..))")
public void methods(){}
@Before("methods()")
public void checkSecurity() throws Throwable{
//check session if user is authenticated....
}
}
如果用户未通过身份验证并导致控制器返回任何其他值而不是“ok”,我不知道该怎么做是取消 DaoServices.save 方法的执行。
我可以吗? 有人可以指出这样的例子吗? 我可以将@Around 建议用于此类操作吗?
【问题讨论】:
-
我只是好奇,你为什么不使用 Spring Security 来做这件事?
标签: java spring spring-mvc jakarta-ee aspectj