- 安全框架就是解决系统安全问题的框架,如果没有安全框架,我们需要手动处理每个资源的访问控制,比较繁琐。使用安全框架,可以通过配置的方式实现对资源的访问限制。
Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。
其前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架
特点:
功能强大, 支持Oauth鉴权
对Spring 体系支持比较好,脱离Spring体系则很难开发
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。
特点:
Authentication(验证):,身份认证,例如:登录
Authorization(授权):给用户分配角色或者访问某些资源的权限
Session Management(会话管理): 用户的会话管理员,一般是web session
Cryptography(数据加解密):一般用于密码加解密