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淘汰。