Spring Security简介

Spring Security是一个可以为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组能够在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减小了为企业系统安全控制编写大量重复代码的工做。它是一个轻量级的安全框架,它确保基于Spring的应用程序提供身份验证和受权支持。它与Spring MVC有很好地集成,并配备了流行的安全算法实现捆绑在一块儿。安全主要包括两个操做“认证”与“验证”(有时候也会叫作权限控制)。“认证”是为用户创建一个其声明的角色的过程,这个角色能够一个用户、一个设备或者一个系统。“验证”指的是一个用户在你的应用中可以执行某个操做。在到达受权判断以前,角色已经在身份认证过程当中创建了。算法

  它的设计是基于框架内大范围的依赖的,能够被划分为如下几块。spring

  Web/Http 安全:这是最复杂的部分。经过创建 filter 和相关的 service bean 来实现框架的认证机制。当访问受保护的 URL 时会将用户引入登陆界面或者是错误提示界面。编程

  业务对象或者方法的安全:控制方法访问权限的。安全

  AuthenticationManager:处理来自于框架其余部分的认证请求。mvc

  AccessDecisionManager:为 Web 或方法的安全提供访问决策。会注册一个默认的,可是咱们也能够经过普通 bean 注册的方式使用自定义的 AccessDecisionManager。框架

  AuthenticationProvider:AuthenticationManager 是经过它来认证用户的。ide

  UserDetailsService:跟 AuthenticationProvider 关系密切,用来获取用户信息的。spa

  Shiro和Spring Security比较设计

  Shiro比Spring更容易使用,实现和最重要的理解对象

  Spring Security更加知名的惟一缘由是由于品牌名称

  “Spring”以简单而闻名,但讽刺的是不少人发现安装Spring Security很难

  然而,Spring Security却有更好的社区支持

  Apache Shiro在Spring Security处理密码学方面有一个额外的模块

  Spring-security 对spring 结合较好,若是项目用的springmvc ,使用起来很方便。可是若是项目中没有用到spring,那就不要考虑它了。

  Shiro 功能强大、且 简单、灵活。是Apache 下的项目比较可靠,且不跟任何的框架或者容器绑定,能够独立运行

相关文章
相关标签/搜索