Spring Security与Shiro比较

Spring Security拥有完整的生态且文档全面,Shiro简单易用无需依赖能独立运行。

Spring Security与Shiro对比

Spring Security

Spring Security项目仍在不断发展。

越来越多的社区支持与Spring项目无缝集成。

支持基于角色的权限认证;

支持多数据源(LDAP,JDBC,Kerberos,ActiveDirectory);

支持csrf token、session fixation。

扩展提供对Oauth、kerberos、SAML的支持。

支持集成CAS单点登录;

支持多个加密算法、摘要认证;

为Grails插件提供新的ACL选项。

Shiro

Shiro十分钟的教程颇具吸引力,概念相对简单易于理解。

支持开箱即用。

支持细粒度的签权;

插件支持LDAP;

不依赖其他框架能独立运行;

支持异构客户端会话访问;

适用于web及非web环境;

支持一级缓存,提升应用性能;

易于定制;

Grails Nimble plugin支持三种级别的权限:用户、组、角色。

一个易于使用的UI组件添加、修改用户和权限,插件支持Facebook和开箱即用的OpenID身份验证。

Kerberos

Kerberos最初由麻省理工学院(MIT)开发,保护Project Athena提供的网络服务。

该协议基于早期的Needham-Schroeder对称密钥协议(Symmetric Key Protocol)。

Needham - Schroeder协议由Roger Needham和Michael Schroeder提出,用于不安全网络的密钥传输协议。

该协议是两个密钥传输协议中的一个,另一个是Needham–Schroeder Public-Key Protocol,在2005年被RFC 4120淘汰。