• springboot-权限控制shiro(一)-copy


    1. 场景描述

    (1)权限控制是IT项目特别是企业项目,绕不开的重要模块,接下来结合springboot介绍下权限控制框架shiro。

    (2)springboot集成shiro的东西有点多,一篇博客完全介绍清楚有点费劲,拟分成3篇吧,第一篇介绍概念、原理;第二篇介绍搭建代码,详细介绍shiro框架;第三篇结合mybatis,搭建可运行项目。

    2. 解决方案

    2.1 简介

    目前的权限控制,很多公司或者企业采用的都是基于角色进行访问控制的。

    百度百科介绍,RBAC(英文缩写)

    2.2 角色控制原理

    通过数据库表结构进行介绍

    说明:

    基于角色的权限控制,基本都是基于这五张表来的。

    这五张表分别是:

    (1)用户表,存储用户信息。

    (2)角色表,存储角色信息,这里的角色类似于我们生活中的角色,企业中角色一般是:财务录单员、财务审核人、财务经理、采购员、采购经理等等。

    (3)资源表,一般是系统菜单或者其他资源。

    (4)用户角色表,多对多关系。

    (5)角色资源表,多对多关系。

    流程:

    (1)用户登录,校验用户名与密码是否正确;

    (2)通过用户名获取用户对应的角色;

    (3)通过角色获取对应的资源,返回给前端。

    2.3 常用框架

    基于上面的权限控制原理,项目组可以通过代码来实现权限控制,也可以通过框架来实现,以前常用的或者好多企业在用的是spring security权限控制框架,一般会基于spring security做一套统一登录系统(单点登录),由一个系统统一控制企业用户权限,其他系统通过接口方式获取用户权限信息。

    以前项目中也一直使用spring security,但是security的过滤链还是小多的,配置起来还是稍微有点麻烦,后来听别人说起shiro,看了下官网,又查了相关资料,shiro也是apache下的子项目,使用者也蛮多的,好评不少,发现比securiy简洁很多,效果也差不多,后续的项目就改用shiro了。

    2.4 shiro介绍

    2.4.1 官网

    http://shiro.apache.org/

    2.4.2 使用方式

    通过maven的gav获取jar使用(目前官网最新版本1.4.1)

           <dependency>
                <groupId>org.apache.shiro</groupId>
                <artifactId>shiro-spring</artifactId>
                <version>1.4.0</version>
            </dependency>
    
    2.4.3 shiro介绍

    shiro主要包含六大模块

    (1)认证;(2)授权;(3)密码;(4)回话管理;(5)web集成;(6)集成模块

    说明

    常用的把(1)和(2)用好就可以了,3-6可以暂时不用管。

    其中(1)是登录校验,就是校验用户名和密码是否正确用的模块;(2)是权限控制模块,校验登录用户是否有资源权限。

    好了,先到这里,下节开始全程撸码与详细shiro权限控制框架介绍。

  • 相关阅读:
    C# 使用 Microsoft.Feeds 组件获取 RSS 全文
    使用 Jquery 做类似搜索引擎效果
    ASP.NET MVC 利用 IHttpModule 实现路由调试
    Python 爬虫类库 Selenium 的常用方法介绍
    C# 中 New 关键词的几种用法
    ASP.NET 使用 IIS URL Rewrite 模块实现伪静态
    Java 源码分析之 HashTable
    Java 类中代码块和构造方法的执行顺序
    C# 中使用 FFmpeg.NET
    C# 项目中使用 ServiceStack.Redis 操作 Redis
  • 原文地址:https://www.cnblogs.com/hanease/p/14515309.html
Copyright © 2020-2023  润新知