版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_35781178/article/details/84453569
spring security : 是spring resource 社区的一个安全组件,spring security 为javaEE 企业级开发提供了全面的安全防护。spring security 可以在controller 层,service,dao层等以加注解的方式来保护应用程序的安全。spring security 提供了细粒度的权限控制,可以精细到每一个API接口,每一个业务方法。spring security 提供的是应用程序层的安全解决方案,一个系统的安全还需要考虑传输层和系统层的安全,如https 协议,服务器部署防火墙等。
spring security 的优点:
1.对环境的无依赖性,低代码耦合性。
2.安全方面:一认证,二授权。
3.javaEE 有另一个优秀的安全框架apache shiro,apache shiro 在企业级的项目开发中十分受欢迎,一般使用在单体服务中。在微服务架构中,目前的版本的apache shiro 是不可以的。spring security采用了注解的方式控制权限,也容易集成到spring cloud 构建的微服务系统中。
http basic 头认证(基于IETF RFC 的标准) |
http digest 头认证(基于IETF RFC 的标准) |
http x.509 客户端证书交换认证(基于IETF RFC 的标准) |
LDAP(一种通用的跨平台身份验证,特别是在大型软件架构中) |
基于表单的验证 |
openID 验证 |
基于预先建立的请求 头的验证 |
Jasig Central authentication service ,也称CAS,开源的单点登陆系统 |
远程方法调用RMI 和 httpInvoker (spring 远程协议)的认证 |
自动“记住我” 的身份验证 |
匿名验证(允许每一次未经身份验证的调用) |
run-as 身份验证(每一次都要经身份验证的调用) |
java 认证和授权服务 |
javaEE 容器认证 |
kerberos |
java 开源的单点登陆 |
openNMS网络管理平台 |
appFuse |
AndroMDA |
mule ESB |
Direct web request (DWR) |
Grails |
tapestry |
JTrac |
Jasypt |
Roller |
Elastic Path |
Atlassian Crowd |
自己创建的认证系统 |
1.应用的每一个请求都需要认证
2.自动生成了一个登陆表单
3.可以用username 和 password 来进行认证
4.用户可以注销
5.组织了CSRF攻击
6.Session Fixation 保护