Shiro 权限框架搭建

 

 

1 项目框架

spring+springMVC (Dao层框架对本次shiro框架集成无影响)

2 设计思路

提供给北辰会展中心一套基于shiro 框架开发的权限管理系统, 实现自定义角色并赋予角色相应的权限,来控制用户访问功能, 例如广告的增加,删除,发布,修改等等;

3 shiro 主要功能

1) 权限管理 : 给用户分配角色 , 也可以给用户分配权限 或者把权限绑定到角色

2 )session 管理 : 用户登录以后 shiro会创建一个对话, 并且将对话交给sessionManager进行管理

4 shiro三大核心

subject :代表当前用户 ,可以理解为在用户输入账号密码登陆之后,就是一个subject

securityManager:是subject的管理者入口(类似于springMVC中的dispatchServlet)

realm:数据源,用户的权限,角色,账号密码都是在realm中读取,realm数据可以来自配置文件或者数据库, 通常试用数据库保存realm信息

5 验证策略

FirstSuccessfulStragey: 只要有一个realm验证成功即可,只返回第一个realm身份验证的信息,其他的忽略

AtlestOneSuccessfulStragery :只要一个realm验证成功即可,和FirstSuccessfulStragey 不同,AtlestOneSuccessfulStragery返回所有的realm验证信息

AllSuccessfulStragery:所有的realm验证成功才算成功,且返回所有realm身份验证信息,如果有一条失败,则全部失败

默认:AtlestOneSuccessfulStragery策略

6 授权

授权中几个关键的对象

主题subject (用户); 资源 Resource;权限permission ;角色 role

 

7 集合shiro框架

1 )pom坐标的引入,ini文件说明以及 编写shiro框架配置

  • a).引入jar包
<!--shiro 整合spring jar-->
  <dependency>
      <groupId>org.apache.shiro</groupId>
      <artifactId>shiro-spring</artifactId>
      <version>1.4.0</version>
  </dependency>

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

 

  • b ). 创建ini权限资源文本(如果是idea 开发需要 下载ini插件)

ini内容解释说明:

[users];用户
//格式:用户账号 = 用户密码 ,拥有的角色权限
//解释:root用户,密码为root,该用户拥有admin角色权限
root = root ,admin ;
guest = guest , guest
//当一个用户拥有多个角色权限时 用","分割
test = 123456 ,guest ,test

[roles];角色
//格式 角色 = 可以访问的资源 * 代表所有资源
//解释 admin角色可以访问该项目的所有资源
admin = *
//guest账户 可以访问user:list资源
guest &#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值