java – 使用HandlerInterceptor或AbstractAuthenticationProcessingFilter进行Spring身份验证
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 使用HandlerInterceptor或AbstractAuthenticationProcessingFilter进行Spring身份验证,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1946字,纯文字阅读大概需要3分钟。
内容图文
spring org.springframework.web.servlet.HandlerInterceptor和org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter有什么区别用法
我打算为我的应用程序添加身份验证.
但在HandlerInterceptor Doc中它说,
In an async processing scenario, the handler may be executed in a
separate thread while the main thread exits without rendering or
invoking the postHandle and afterCompletion callbacks.
所以在这种情况下,如果处理程序在一个单独的线程中执行,我发现HandlerInterceptor不适合进行身份验证.
实现身份验证的最佳方法是什么?
解决方法:
简短回答:使用Spring Security.它支持开箱即用的Servlet 3.x异步请求处理.见documentation.
答案很长:HandlerInterceptor和AbstractAuthenticationProcessingFilter可能用于相同的目的,但通常在基于Spring的项目中,身份验证/授权由Spring Security(AbstractAuthenticationProcessingFilter)处理.
HandlerInterceptor属于Spring MVC,是我职业生涯中迄今为止看到的 – 用于自定义日志记录,时间测量,HTTP标头操作或(用户)请求上下文增强. HandlerInterceptor可以放在所有或特定的Spring MVC控制器之前,并在DispatcherServlet内“存在”.
相比之下,Spring Security的过滤器链与javax.servlet.Filter集成.简化的请求流程如下所示:
Container connector
V
Filter (Spring Security)
V
DispatcherServlet (Spring MVC)
V
HandlerInterceptor (Spring MVC)
V
Controller (Spring MVC)
Spring Security可以独立于Spring MVC使用(看看AbstractAuthenticationProcessingFilter,你可以看到它派生自GenericFilterBean,而GenericFilterBean又实现了Filter).也就是说,您可以将身份验证/授权与Spring Security结合在任何其他Web框架中,例如JSF,GWT,Vaadin.
主要是,Spring Security是used
a Java EE-based enterprise software application
但你也可以在像Swing这样的桌面应用程序中使用它.老实说,到目前为止我没有看到它.
在我看来,你应该依赖一个成熟且功能丰富的框架,如Spring Security或Apache Shiro进行身份验证/授权.大多数情况下,此类框架已具备您的项目所需的所有功能.许多人使用的流行框架减少了由于频繁的错误报告和安全检查而导致严重错误或安全漏洞的可能性.请不要重新发明通常无法跟上软件质量和增长框架灵活性的步伐.
内容总结
以上是互联网集市为您收集整理的java – 使用HandlerInterceptor或AbstractAuthenticationProcessingFilter进行Spring身份验证全部内容,希望文章能够帮你解决java – 使用HandlerInterceptor或AbstractAuthenticationProcessingFilter进行Spring身份验证所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。