shiro配置文件shiro.ini简介说明

2023-11-04

转自:

shiro配置文件shiro.ini简介说明

下文笔者讲述shiro配置文件shiro.ini的简介说明,如下所示:

shiro.ini:是一个shiro的配置文件,
  它通常放在classpath路径下
shiro.ini配置文件包含以下信息
main
提供了对根对象securityManager及其依赖对象的配置,通过反射创建相应的实例。

#创建对象
securityManager=org.apache.shiro.mgt.DefaultSecurityManager
1.对象名=全限定类名 相当于调用public无参构造器创建对象

2.对象名.属性名=值 相当于调用于setter方法设置常量值

3.对象名.属性名=$对象引用 相当于调用setter方法设置对象引用

users
提供了对用户/密码及其角色的配置,用户名=密码,角色1,角色2 比如:username=password,role1,role2

[users] 
zhangsan=123,role1,role2 
wangwu=123,role1
roles
提供了角色及权限之间关系的配置,角色=权限1,权限2 比如:role1 = permission1 , permission2

[roles] 
role1=user:create,user:update 
role2=*  
urls
提供了对web url拦截相关的配置,url=拦截器[参数],拦截器

/index.html = authno
/admin/** = auth, roles[admin],perms["permission1"]

//shiro.ini
[users]
root=888888
# 账号为root 密码:888888

例:

//java
package com.java265;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationToken;
import org.apache.shiro.authc.IncorrectCredentialsException;
import org.apache.shiro.authc.UnknownAccountException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniSecurityManagerFactory;
import org.apache.shiro.mgt.SecurityManager;
import org.apache.shiro.subject.Subject;
import org.apache.shiro.util.Factory;
/**
 *shiro的第一个入门案例
 */
public class HelloTest {
	public static void main(String[] args) {
		//1.加载配置文件获取Factory对象
		Factoryfactory=new IniSecurityManagerFactory("classpath:shiro.ini");
		//2.获取SecurityManager对象
		SecurityManager securityManager =factory.getInstance();
		//3.将SecurityManager添加到系统
		SecurityUtils.setSecurityManager(securityManager);
		//4.通过SecurityManager获取Subject对象
		Subject subject=SecurityUtils.getSubject();
		//账号密码是客户端提交的数据
		AuthenticationToken token=new UsernamePasswordToken("root","888888");
		//5.实现认证操作
		try{
			subject.login(token);
			System.out.println("认证成功");
		}catch(UnknownAccountException e){
			System.out.println("账号输入错误。,,,");
		}catch (IncorrectCredentialsException e) {
			System.out.println("密码输入错误。。。");
		}
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shiro配置文件shiro.ini简介说明 的相关文章

  • Java简单加密

    我想加密存储在磁盘上的文本 配置 文件 尝试使用DES http en wikipedia org wiki Data Encryption Standard加密 我在客户端计算机上遇到了致命错误 后来我发现该算法无法处理重音字符 我怀疑这
  • 为什么在使用 repaint() 而不是使用 getParent().repaint() 时会出现此 Swing 错误?

    这个问题是基于我不久前在一个简单的 Swing 骰子程序中遇到的问题 我发布的原始问题是here https stackoverflow com questions 22306637 mystery concurrency componen
  • 如何向 OkHttp 请求拦截器添加标头?

    我将这个拦截器添加到我的 OkHttp 客户端 public class RequestTokenInterceptor implements Interceptor Override public Response intercept C
  • BigDecimal 中 Divide 方法的 Scale()

    new BigDecimal 37146555 53880000 divide new BigDecimal 1000000 scale 这返回10 但根据API divide method 返回一个 BigDecimal 其值为 这个 除
  • AES BadPaddingException

    如果我使用错误的密钥或错误的盐进行解密 则会引发 BadPaddingException 我希望返回一个不正确的字符串 doFinal 导致解密方法出现异常 信息 This is just an example Unfug S F V s
  • java模拟自定义对象

    public class MainClass public void makeCall CustomObject obj new CustomObject obj testMethod 我想进行单元测试makeCall 所以我必须嘲笑Cus
  • Hibernate、MySQL 视图和 hibernate.hbm2ddl.auto = 验证

    我可以在 Hibernate 中使用 MySQL 视图 将它们视为表 即 该实体与为表创建的实体没有什么不同 但是 当 Hibernate 设置为验证模型时 我的应用程序将不会部署 因为它找不到视图 因为它假设它是一个表 是否可以在启用部署
  • 大型 XML 的 XML 节点到字符串转换

    到目前为止我一直在使用DOM源在我的 Android 应用程序中将 XML 文件转换为字符串 这是我的代码 public String convertElementToString Node element throws Transform
  • Java中的运算符重载和覆盖

    运算符重载和运算符重写有什么区别 它们在继承和控制台程序中是否相同 Java 不支持运算符重载和重写 检查以下引用自的描述 http java sun com docs white langenv Simple doc2 html http
  • Android 上的自定义视图和窗口属性

    我想要做的是在我的应用程序顶部添加一个视图 该视图类似于过滤器视图 我想操纵屏幕的颜色 并且我还希望能够同时更改屏幕的亮度时间 这两件事似乎是分开起作用的 但不能一起起作用 这是我的代码 添加视图 colourView new Layer
  • Java Swing JEditorPane:操作样式文档

    我的模型是与枚举类型关联的字符串队列 我试图在 JEditorPane 中显示该模型 队列中的每个元素作为一个单独的 HTML 段落 其属性基于关联的枚举类型 但是 我的更新方法并没有达到我想要的效果 我尝试将 HTML 字符串直接写入文档
  • 在 JSF 自定义验证器中区分 ajax 请求和完整请求

    我的验证器需要知道它是完整请求还是 ajax 请求 在我当前的解决方案中 我检查 http 请求标头X Requested With元素 public void validate FacesContext context UICompone
  • 添加和完成 PHP 源代码文档的工具 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有几个已完成的较旧的 PHP 项目 其中有很多内容 我想以 javadoc phpDocumentor
  • 未从线程接收位置数据

    我尝试使用计时器经常发送包含用户位置的短信 最初 我遇到了空指针异常 这是由于我犯了一个简单的错误 一旦解决了这个问题 一切似乎都运行良好 但是 它永远不会获取我的位置 因此 不断发送的文本显示 无法接收位置 我想问的是为什么它无法获取我的
  • 为什么 Cassandra 客户端在生产中没有 epoll 时会失败? [复制]

    这个问题在这里已经有答案了 当我在本地运行服务时 我收到一条警告 指出 epoll 不可用 因此它使用 NIO 很公平 当我将其部署到 Kubernetes 中时 我得到了以下信息 这导致服务无法运行 2017 03 29T19 09 22
  • org.apache.catalina.core.JreMemoryLeakPreventionListener 中急切调用 URLConnection 的 setDefaultUseCaches(false) 是什么原因

    这个问题可能有点难以找到答案 这是一个系列中的问题考虑使用 Policy getPolicy 的原因是什么 因为它将保留对上下文的静态引用并可能导致内存泄漏 https stackoverflow com questions 7057421
  • 解析 SWIG 接口文件的结构属性

    这是我不久前问过的问题的延续 为通过参数返回的函数创建类型映射 https stackoverflow com questions 12793973 create a typemap for a function that returns
  • 使用 OpenNLP 获取句子的解析树。陷入困境。

    OpenNLP 是一个关于自然语言处理的 Apache 项目 NLP 程序的目标之一是解析一个句子 并给出其语法结构的树 例如 天空是蓝色的 这句话 可能会被解析为 S NP VP The sky is blue where S是句子 NP
  • 如何使用 Kafka 发送大消息(超过 15MB)?

    我发送字符串消息到Kafka V 0 8使用 Java Producer API 如果消息大小约为 15 MB 我会得到MessageSizeTooLargeException 我尝试过设置message max bytes到 40 MB
  • Hibernate 命名查询使用 Like 和 % % 运算符?

    在我的 Hibernate JPA 示例代码中 public List

随机推荐

  • matlab求系统稳定时k的范围,Matlab大作业

    一 通过举例说明运用MATLAB 判别控制系统稳定的所有方法 稳定是控制系统是否能进行工作的首要条件 一般来说 稳定性成为区分系统是否有用的标志 从实际应用的角度来看 可以认为只有稳定的系统才有用 而线性系统稳定的充分必要条件是 特征方程的
  • vscode配置远程ssh环境

    安装 Oracle VM VirtualBox 安装ubuntu ubuntu上安装ssh sever 百度搜索 ubuntu 18 04上安装ssh sever 58条消息 安装Ubuntu18 04并配置ssh服务 ubuntu18 0
  • WIN7 64位 VS2013下载

    下载网址 https msdn itellyou cn 复制到迅雷进行下载
  • SVG脚本编程介绍

    SVG脚本编程介绍 一 人气 13720 Svg脚本编程简介 一 本文主要介绍SVG的脚本编程 并分别给出放大 缩小 查询 鼠标事件等实例 一 SVG简介 SVG 全称为Scalable Vector Graphics 可伸缩矢量图形 它是
  • stm32之DS18B20

    DS18B20与stm32之间也是通过单总线进行数据的传输的 单总线协议在DHT11中已经介绍过 虽说这两者外设都是单总线 但时序电路却很不一样 DS18B20是更为麻烦一点的 DS18B20 举例 原码补码反码转换 原码反码补码转换 王小
  • 调试最长的一帧(第12天)

    先看看总体 流程走到了更新分页数据库 分页数据库的数据流图 先找上图的4个成员变量 上图中 左侧的图框表示数据的检索和输入 中间的白色图框表示用于数据存储的内存空间 而右边的图框表示存储数据的输出 此外 蓝绿色图框表示可以在DataBase
  • Qt版本企业级界面

    百度云盘 链接 https pan baidu com s 11b634VvKMIsGdahyBLpZ3Q 提取码 6666
  • 用python语言画一个动态爱心

    使用 Python 语言画一个动态爱心可以使用多种库 如 Matplotlib pygame 等 具体步骤如下 安装相应库 如 Matplotlib pipinstall matplotlib 使用 Matplotlib 的函数绘制爱心形状
  • LINUX开机和关机

    本节将主要讲解LINUX开机和关机 希望通过本书的内容能帮助读者建立正确的开机和关机概念 并且一睹LINUX的风彩 本章的主要内容 1 系统开机 2 系统关机 3 系统登录 4 系统注销 5 编辑器长青树 系统开机 开机信息相当重要 因为它
  • 信息系统开发与管理(自考)往届题目复习

    信息系统开发与管理 信息系统开发与管理 简答题 选择题解析 day2 名词解释 day3 day4 信息系统开发与管理 简答题 战略型管理信息系统 主要服务于高层管理者 主要目的是为了战略计划的制订和调整提供辅助决策的功能 简述管理信息系统
  • Java Thread.yield()方法具有什么功能呢?

    转自 Java Thread yield 方法具有什么功能呢 下文讲述Thread yield 方法的功能简介说明 如下所示 Thread yield 方法的功能 暂停当前线程 将当前线程重新放回CPU的调度中心 yield 方法注意事项
  • Leetcode 刷题笔记:哈希表篇

    基本概念 哈希表 根据关键码的值而直接进行访问的数据结构 那么哈希表能解决什么问题呢 一般哈希表都是用来快速判断一个元素是否出现集合里 哈希函数 哈希碰撞 一般哈希碰撞有两种解决方法 拉链法和线性探测法 常见的三种哈希结构 数组array
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • 计操理论课10 -- openEuler实验第九章内核虚拟化

    文章目录 任务一 搭建openEuler系统的qemu虚拟机 知识点 实验过程 任务二 搭建使用docker 知识点 1 Docker Engine 2 Docker对象 3 Dockerfile 知识点 删除容器 创建自定义镜像并以此为基
  • TCP/IP详解 卷1:协议 学习笔记 第二十一章 TCP的超时与重传

    TCP发送的数据和确认都可能丢失 TCP通过在发送时设置一个定时器来解决这种问题 当定时器溢出时还没收到确认 它就重传该数据 对于每个连接 TCP管理4个不同定时器 1 重传定时器用于希望收到另一端的确认 2 坚持定时器使窗口大小信息保持不
  • android修改checkbox样式边框颜色

    s之前写了一个自动登录和记住密码的功能 用的是checkbox控件 但是原生控件边框样式不太符合要求 如图 我想修改成白色 在网上查了一些资料 说在style xml文件中定义一个样式
  • 全景图像拼接——基本流程

    图像拼接技术是数字图像处理技术一个重要的研究方向 它即是将两幅或多幅相互有部分重叠的场景照片拼接成具有超宽视角 与原始图像接近且失真小 没有明显缝合线的高分辨率图像 可以很好地解决广角镜 鱼眼镜头等全景图获取设备的不足 如下图 图像拼接产生
  • Spring Boot 结合Spring Cache三大注解(@Cacheable,@CachePut,@CacheEvict)做缓存使用

    Spring Cache是一个框架 实现了基于注解的缓存功能 只需要简单地加一个注解 就能实现缓存功能 大大简化我们在业务中操作缓存的代码 注解 EnableCaching 开启缓存注解功能 Cacheable 在方法执行前spring先查
  • springsecurtity的login方法不跳转_微信小程序页面跳转教程

    如何实现微信小程序跳转功能 首先你得有一个已发布成功的小程序 这里简单给大家说明下如何发布 选一个简单的小程序制作工具 如 上线了 sxl cn 注册好账号后选择 创建小程序 再选一个超级云名片 或者电商 展示 模板 然后你可以在 小程序设
  • shiro配置文件shiro.ini简介说明

    转自 shiro配置文件shiro ini简介说明 下文笔者讲述shiro配置文件shiro ini的简介说明 如下所示 shiro ini 是一个shiro的配置文件 它通常放在classpath路径下 shiro ini配置文件包含以下