Spring使用@Before怎么终止所拦截方法的执行

随风snail_dream 2014-03-04 01:47:33
我想通过Spring的@Before实现权限管理,即通过在方法执行前判断session中保存的用户是管理员还是普通用户,如果是管理员继续执行,如果是普通用户则终止原方法的执行,并跳转到登录页面。请问应该怎么做?如果不能这么做那应该怎么做?
...全文
8351 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
suciver 2014-03-05
  • 打赏
  • 举报
回复
引用 3 楼 u011387154 的回复:
@Before是在方法执行前的无法终止原方法执行,你用@Around这个是环绕通知. @Around("拦截表达式") public Object around(ProceedingJoinPoint pjp){ if(validation()){//你的校验成功执行方法,失败方法就不用执行了 return pjp.proceed(); }else{ //可以返回你失败的信息也可以直接抛出校验失败的异常 } } 请问应该怎样在else{。。。}里面实现跳转功能,我用的是Spring MVC框架没有用到Strust
spring mvc一样有拦截器,像这种校验的都放到拦截器中去做.你只要实现spring mvc的HandlerInterceptor中的preHandle这个方法,返回false就不会调用Controller的方法了,也就是说你在这个方法里面进行校验校验成功的返回true失败的跳转页面并return false
随风snail_dream 2014-03-05
  • 打赏
  • 举报
回复 2
@Before是在方法执行前的无法终止原方法执行,你用@Around这个是环绕通知. @Around("拦截表达式") public Object around(ProceedingJoinPoint pjp){ if(validation()){//你的校验成功执行方法,失败方法就不用执行了 return pjp.proceed(); }else{ //可以返回你失败的信息也可以直接抛出校验失败的异常 } } 请问应该怎样在else{。。。}里面实现跳转功能,我用的是Spring MVC框架没有用到Strust
随风snail_dream 2014-03-05
  • 打赏
  • 举报
回复
引用 4 楼 suciver 的回复:
[quote=引用 3 楼 u011387154 的回复:] @Before是在方法执行前的无法终止原方法执行,你用@Around这个是环绕通知. @Around("拦截表达式") public Object around(ProceedingJoinPoint pjp){ if(validation()){//你的校验成功执行方法,失败方法就不用执行了 return pjp.proceed(); }else{ //可以返回你失败的信息也可以直接抛出校验失败的异常 } } 请问应该怎样在else{。。。}里面实现跳转功能,我用的是Spring MVC框架没有用到Strust
spring mvc一样有拦截器,像这种校验的都放到拦截器中去做.你只要实现spring mvc的HandlerInterceptor中的preHandle这个方法,返回false就不会调用Controller的方法了,也就是说你在这个方法里面进行校验校验成功的返回true失败的跳转页面并return false[/quote] 大神可以给一个例子看看吗
suciver 2014-03-04
  • 打赏
  • 举报
回复
@Before是在方法执行前的无法终止原方法执行,你用@Around这个是环绕通知. @Around("拦截表达式") public Object around(ProceedingJoinPoint pjp){ if(validation()){//你的校验成功执行方法,失败方法就不用执行了 return pjp.proceed(); }else{ //可以返回你失败的信息也可以直接抛出校验失败的异常 } }
ay转身遇 2014-03-04
  • 打赏
  • 举报
回复
@Before 一般情况没用过,只是在junit测试的时候用过。我感觉把用户信息从session里面取出后 判断是否是普通用户,是return登录页面,不是则继续执行。为什么一定用@Before呢

81,121

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧