栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MVC拦截器vs春季安全过滤器vs其他……?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MVC拦截器vs春季安全过滤器vs其他……?

所有选项均有效,这取决于所需的抽象级别。

在中

Filter
,您只能访问
HttpServletRequest
HttpServletResponse
对象,因此与
Servlet
API紧密结合。您也无法(直接)访问所有出色的Spring功能,例如返回要渲染的视图或
ResponseEntity

在中

HandlerInterceptor
,它又一次相同。您可以在
preHandle()
没有访问权限的地方直接进行重定向或请求处理,也可以
ModelAndView
设置签入的标志
postHandle()
。您将有权使用
ModelAndView
Spring
MVC的其他功能,但不能使用。

Spring Security是一个不错的选择,但是我发现它有很多我不喜欢的配置。

我最喜欢的最后一种选择是使用AOP(您也可以使用Spring
Security或Shiro做到这一点)。创建一个类似的注释,

@Private
然后注释
@Controller
处理程序方法。您使用AOP来建议这些方法。该建议基本上检查某些会话或请求属性中的标志(已授权或未授权)。如果允许,则继续执行处理程序方法,否则,将抛出
UnauthorizedException
(或类似的)结果。然后,您还要
@ExceptionHandler
为该异常声明一个,在那里您可以完全控制响应的生成方式:(一个
ModelAndView
和相关的),a
ResponseEntity
,使用注释处理程序
@ResponseBody
,直接编写响应等。我觉得您拥有更多的控制权, 如果你想要的话。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/466422.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号