• shiro权限管理


    参考:https://blog.csdn.net/qq_39874546/article/details/79081950

    https://www.cnblogs.com/moonlightL/p/8126910.html

    1. Shiro入门

    ApacheShiro是一个功能强大且易于使用的Java安全框架,提供了认证,授权,加密,和会话管理。

    Shiro有三大核心组件:

    Subject:即当前用户,在权限管理的应用程序里往往需要知道谁能够操作什么,谁拥有操作该程序的权利,shiro中则需要通过Subject来提供基础的当前用户信息,Subject 不仅仅代表某个用户,与当前应用交互的任何东西都是Subject,如网络爬虫等。所有的Subject都要绑定到SecurityManager上,与Subject的交互实际上是被转换为与SecurityManager的交互。

    SecurityManager:即所有Subject的管理者,这是Shiro框架的核心组件,可以把他看做是一个Shiro框架的全局管理组件,用于调度各种Shiro框架的服务。作用类似于SpringMVC中的DispatcherServlet,用于拦截所有请求并进行处理。

    Realm:Realm是用户的信息认证器和用户的权限人证器,我们需要自己来实现Realm来自定义的管理我们自己系统内部的权限规则。SecurityManager要验证用户,需要从Realm中获取用户。可以把Realm看做是数据源。

    2. 依赖

     <!--shiro核心类库-->
        <dependency>
            <groupId>org.apache.shiro</groupId>
            <artifactId>shiro-core</artifactId>
            <version>1.2.3</version>
        </dependency>

    3.过滤器解释

     1 /admins/**=anon               # 表示该 uri 可以匿名访问
     2 /admins/**=auth               # 表示该 uri 需要认证才能访问
     3 /admins/**=authcBasic         # 表示该 uri 需要 httpBasic 认证
     4 /admins/**=perms[user:add:*]  # 表示该 uri 需要认证用户拥有 user:add:* 权限才能访问
     5 /admins/**=port[8081]         # 表示该 uri 需要使用 8081 端口
     6 /admins/**=rest[user]         # 相当于 /admins/**=perms[user:method],其中,method 表示  get、post、delete 等
     7 /admins/**=roles[admin]       # 表示该 uri 需要认证用户拥有 admin 角色才能访问
     8 /admins/**=ssl                # 表示该 uri 需要使用 https 协议
     9 /admins/**=user               # 表示该 uri 需要认证或通过记住我认证才能访问
    10 /logout=logout                # 表示注销,可以当作固定配置
    注意:
    
    anon,authcBasic,auchc,user 是认证过滤器。
    
    perms,roles,ssl,rest,port 是授权过滤器。
  • 相关阅读:
    angularJS 数组更新时重新排序之解决方案一:这个坑,绕开吧,不跳了……
    移动web开发之rem响应式设计
    IIS wAS机制
    触摸方法
    滑动加载函数
    js有关数组的函数
    用absolute进行页面的自适应布局
    absolute
    清除float的方法
    图片和文字的位置垂直居中和左右摆放
  • 原文地址:https://www.cnblogs.com/zuoxh/p/9768821.html
Copyright © 2020-2023  润新知