zoukankan      html  css  js  c++  java
  • 安全框架

    安全框架:
    概念:安全框架是对访问权限的控制,应用的安全性包括用户认证(Authentication)和用户授权(Authorization)
    用户认证:验证某个用户是否是系统中的合法主体,一般需要提供用户名和密码,通过验证账户密码进行认证的过程。
    用户授权:指的是验证某个用户是否有权限执行某个操作。
    1.shiro
    Apache shiro是一个强大的且简单易用的java安全框架,能够清晰的处理身份验证、授权、管理会话以及加密。
    利用其易于理解的API,首选推荐框架。
    Shiro 主要分为两个部分就是认证和授权,在个人感觉来看就是查询数据库做相应的判断而已,Shiro只是一个框架而已,
    其中的内容需要自己的去构建,前后是自己的,中间是Shiro帮我们去搭建和配置好的。
    功能:三大核心组件,Subject, SecurityManager 和 Realms。
    一:Subject:即当前操作用户,广义:当前跟软件交互的东西。
    二:SecurityManager:shrio的核心,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务SecurityManager:shrio的核心,Shiro通过SecurityManager来管理内部组件实例,并通过它来提供安全管理的各种服务。
    典型的Facede模式:外观(Facade)模式又叫作门面模式,是一种通过为多个复杂的子系统提供一个一致的接口,而使这些子系统更加容易被访问的模式。
    三:realm,shiro和安全数据间的桥梁或者是连接器,当完成认证,shrio可以从应用配置中Realm中读取用户的信息。
    2.spring security
    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。
    它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC(控制反转),DI( 依赖注入)和AOP(面向切面编程)功能,
    Spring Security对Web安全性的支持大量地依赖于Servlet过滤器。这些过滤器拦截进入请求,并且在应用程序处理该请求之前进行某些安全处理。
    Spring Security提供有若干个过滤器,它们能够拦截Servlet请求,并将这些请求转给认证和访问决策管理器处理,从而增强安全性。根据自己的需要,可以使用适当的过滤器来保护自己的应用程序。

    Servlet:处理请求和响应的容器,其生命周期是:init、servce(处理do Post/Get请求)、destory销毁

    总结:
    Shiro特点

    1、易于理解的 Java Security API;

    2、简单的身份认证(登录),支持多种数据源(LDAP,JDBC,Kerberos,ActiveDirectory 等);

    3、对角色的简单的签权(访问控制),支持细粒度的签权;

    4、支持一级缓存,以提升应用程序的性能;

    5、内置的基于 POJO 企业会话管理,适用于 Web 以及非 Web 的环境;

    6、异构客户端会话访问;

    7、非常简单的加密 API;

    8、不跟任何的框架或者容器捆绑,可以独立运行。

    Spring Security特点

    除了不能脱离Spring,shiro的功能它都有。

    而且Spring Security对Oauth、OpenID也有支持,Shiro则需要自己手动实现。Spring Security的权限细粒度更高(还未发现高在哪里)。

  • 相关阅读:
    数据结构(线性结构-栈)
    数据结构(线性结构-队列)
    数据结构(树状结构-二叉树)
    数据结构(树状结构-树)
    数据结构(线性结构-串)
    数据结构(堆)
    数据结构(图)
    查找(静态查找表)
    查找(动态查找表)
    查找(哈希表)
  • 原文地址:https://www.cnblogs.com/wlm-boke/p/14264240.html
Copyright © 2011-2022 走看看