一.授权以及认证框架(shiro)

目录

 

1.权限控制和初学JavaWeb处理访问权限控制

   简介:讲解什么是权限控制,初学JavaWeb时处理流程

2.大话权限框架核心知识ACL和RBAC

   2.1 权限框架设计之ACL和RBAC讲解

            简介:介绍什么是ACL和RBAC               

     2.2主流权限框架介绍和技术选型讲解

         简介:介绍主流的权限框架 Apache Shiro、spring Security

3.Apache Shiro基础概念知识和架构讲解

    1.Shiro核心知识之架构图交互和四大模块讲解

          简介:讲解Shiro架构图交互和四大核心模块 身份认证,授权,会话管理和加密

   2.用户访问Shrio权限控制运行流程和常见概念讲解

          简介:讲解用户访问整合Shrio的系统,权限控制的运行流程和Shiro常见名称讲解


1.权限控制和初学JavaWeb处理访问权限控制

   简介:讲解什么是权限控制,初学JavaWeb时处理流程

  • 什么是权限控制:

    • 忽略特别细的概念,比如权限能细分很多种,功能权限,数据权限,管理权限等

    • 理解两个概念:用户和资源,让指定的用户,只能操作指定的资源(CRUD)

  • 初学javaweb时怎么做

    • Filter接口中有一个doFilter方法,自己编写好业务Filter,并配置对哪个web资源进行拦截后

    • 如果访问的路径命中对应的Filter,则会执行doFilter()方法,然后判断是否有权限进行访问对应的资源

    • /api/user/info?id=1

public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)
            throws Exception {
        HttpServletRequest httpRequest=(HttpServletRequest)request;
        HttpServletResponse httpResponse=(HttpServletResponse)response;
        
        HttpSession session=httpRequest.getSession();
        
        if(session.getAttribute("username")!=null){
            chain.doFilter(request, response);
        } else {
            httpResponse.sendRedirect(httpRequest.getContextPath()+"/login.jsp");
        }
        
    }

2.大话权限框架核心知识ACL和RBAC

   2.1 权限框架设计之ACL和RBAC讲解

            简介:介绍什么是ACL和RBAC               

  • ACL: Access Control List 访问控制列表

    • 以前盛行的一种权限设计,它的核心在于用户直接和权限挂钩

    • 优点:简单易用,开发便捷

    • 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理

    • 例子:常见的文件系统权限设计, 直接给用户加权限

  • RBAC: Role Based Access Control

    • 基于角色的访问控制系统。权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限

    • 优点:简化了用户与权限的管理,通过对用户进行分类,使得角色与权限关联起来

    • 缺点:开发对比ACL相对复杂

    • 例子:基于RBAC模型的权限验证框架与应用 Apache Shiro、spring Security

  • BAT企业 ACL,一般是对报表系统,阿里的ODPS

     2.2主流权限框架介绍和技术选型讲解

         简介:介绍主流的权限框架 Apache Shiro、spring Security

  • 什么是 spring Security:官网基础介绍

    • 官网:https://spring.io/projects/spring-security

    • Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI(控制反转Inversion of Control ,DI:Dependency Injection 依赖注入)和AOP(面向切面编程)功能,为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作。 一句话:Spring Security 的前身是 Acegi Security ,是 Spring 项目组中用来提供安全认证服务的框架

  • 什么是 Apache Shiro:官网基础介绍

    • https://github.com/apache/shiro

    • Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。 ​ 一句话:Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能

  • 两个优缺点,应该怎么选择

    • Apache Shiro比Spring Security , 前者使用更简单

    • Shiro 功能强大、 简单、灵活, 不跟任何的框架或者容器绑定,可以独立运行

    • Spring Security 对Spring 体系支持比较好,脱离Spring体系则很难开发

    • SpringSecutiry 支持Oauth鉴权 https://spring.io/projects/spring-security-oauth,Shiro需要自己实现

    • ......

3.Apache Shiro基础概念知识和架构讲解

    1.Shiro核心知识之架构图交互和四大模块讲解

          简介:讲解Shiro架构图交互和四大核心模块 身份认证,授权,会话管理和加密

  • 直达Apache Shiro官网 http://shiro.apache.org/introduction.html

  • 什么是身份认证

    • Authentication,身份证认证,一般就是登录

  • 什么是授权

    • Authorization,给用户分配角色或者访问某些资源的权限

  • 什么是会话管理

    • Session Management, 用户的会话管理员,多数情况下是web session

  • 什么是加密

    • Cryptography, 数据加解密,比如密码加解密等

   2.用户访问Shrio权限控制运行流程和常见概念讲解

          简介:讲解用户访问整合Shrio的系统,权限控制的运行流程和Shiro常见名称讲解

  • 直达官网 :http://shiro.apache.org/architecture.html

  • Subject

    • 我们把用户或者程序称为主体(如用户,第三方服务,cron作业),主体去访问系统或者资源

  • SecurityManager

    • 安全管理器,Subject的认证和授权都要在安全管理器下进行

  • Authenticator

    • 认证器,主要负责Subject的认证

  • Realm

    • 数据域,Shiro和安全数据的连接器,好比jdbc连接数据库; 通过realm获取认证授权相关信息

  • Authorizer

    • 授权器,主要负责Subject的授权, 控制subject拥有的角色或者权限

  • Cryptography

    • 加解密,Shiro的包含易于使用和理解的数据加解密方法,简化了很多复杂的api

  • Cache Manager

    • 缓存管理器,比如认证或授权信息,通过缓存进行管理,提高性能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值