authentication.getAuthorities().addAll(authorities);

作者:禅与计算机程序设计艺术

1.简介

Spring Security是一个很优秀的开源安全框架,它提供了一系列的安全特性,包括身份认证、授权、密码编码、会话管理等。其主要功能如下图所示: 目前市面上比较知名的Spring Security应用有GitHub、微软Azure、京东方舆情云平台等。但还有很多公司内部系统还没有采用Spring Security,这是为什么呢?

因为Spring Security太过复杂,配置起来也不易,而且随着需求的变化,很多配置项需要适应新的业务场景。因此,很多公司选择了其他的安全框架,比如Apache Shiro、Spring Security oauth、Keycloak等。其中Apache Shiro虽然功能较弱,但是它的易用性和可靠性要远高于Spring Security。Keycloak是红帽提供的一款基于OpenID Connect规范的解决方案,它可以替代Apache Shiro,并且拥有良好的性能、稳定性和扩展性。所以,很多公司在应用Spring Security之前,都尝试过使用Shiro或者Keycloak。

但是,无论是Apache Shiro还是Keycloak,它们毕竟都是Java编写的Web应用安全框架,它们与Spring Security之间仍然存在一些差距。比如Apache Shiro只支持Form表单登录,而Spring Security除了支持Form表单登录,还支持多种OAuth协议。如果选择Apache Shiro作为默认的安全框架,那么如何将Spring Security的强大特性融入到系统中,也是个难题。

另外,由于Spring Security是由Pivotal开源并维护的,其技术栈经过长时间积累,已经成为行业标准ÿ


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部