shiro简介以及基本框架搭建

2023-11-17

Shiro框架是一个基于java实现认证登录的安全框架,它是由Apache推出的,目前最新的版本是1.3.2版本。
Shiro主要的功能有:Authentication(身份认证/登录)、Authorization(授权)、Session Manager(会话管理)、Cryptography(加密)。
Shiro框架基本搭建:
首先使用Ecplise建立一个Maven的webapp项目,而后在pom.xml文件中配置shiro的相应的开发包:

<dependency>
          <groupId>org.apache.shiro</groupId>
          <artifactId>shiro-core</artifactId>
         <version>1.3.2</version>
    </dependency>

该程序代码可以在Apache Shiro的官方网站中直接取得(https://shiro.apache.org/down...
而后如果想要查看程序的有关日志,则可以增加日志相关的工作开发包,例如:

<dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    <dependency>
        <groupId>com.mchange</groupId>
        <artifactId>mchange-commons-java</artifactId>
        <version>0.2.12</version>
    </dependency>
    <dependency>
        <groupId>commons-logging</groupId>
        <artifactId>commons-logging</artifactId>
        <version>1.1.3</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.21</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.21</version>
    </dependency>

并且在Jave Resources下的src/main/resources下建立一个log4j.properties文件,具体文件如下:

# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.stdout.layout.ConversionPattern=%p [%c] - %m%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=logs/my.log
log4j.appender.logfile.MaxFileSize=512KB
# Keep three backup files.
log4j.appender.logfile.MaxBackupIndex=3
# Pattern to output: date priority [category] - message
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

完成之后,就可以在Jave Resources下的src/main/resources下建立一个shiro.ini文件,里面追价的是用户信息(用户名:admin,密码:admin123):

[users]
admin=admin123

下一步就可以建立一个测试类,用来观察shiro框架的实现,该测试类具体实现如下:

    Factory<org.apache.shiro.mgt.SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); // 取得Factory接口对象,主要的目的是通过配置文件加载文件之中的信息
    SecurityManager securityManager = factory.getInstance(); // 取得里面所保存的所有的认证数据信息
    SecurityUtils.setSecurityManager(securityManager); // 利用一个专门认证操作的处理类,实现认证处理的具体的实现
    Subject subject = SecurityUtils.getSubject(); // 获取进行用户名和密码认证的接口对象
    UsernamePasswordToken token = new UsernamePasswordToken("admin","admin123"); // 定义了一个Token,里面保存要登录的用户名和密码信息
    subject.login(token); // 实现用户登录处理

如果项目配置成功,则会显示:

clipboard.png
就此一个最基本的shiro框架搭建成功

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

shiro简介以及基本框架搭建 的相关文章

随机推荐

  • 啊哈C语言——安装啊哈C编译器

    安装啊哈C编译器 首先访问啊哈C语言编译器的官网www ahacpp com 下载啊哈 C语言编译器安装包 Windows 单击下载之后会跳转到腾讯微云 选中文件复选框 然后单击保存微云 这个时候会弹出登录框 选择自己喜欢的登录方式 然后再
  • 华为OD机试 - 全量和已占用字符集(Java)

    题目描述 给定两个字符集合 一个是全量字符集 一个是已占用字符集 已占用字符集中的字符不能再使用 要求输出剩余可用字符集 输入描述 输入一个字符串 一定包含 前为全量字符集 后的为已占用字符集 已占用字符集中的字符一定是全量字符集中的字符
  • drop mysql,MySQL删除大表更快的DROP TABLE办法

    本文内容遵从CC版权协议 可以随意转载 但必须以超链接形式标明文章原始出处和作者信息及版权声明网址 http www penglixun com tech database mysql fast drop table use hard li
  • 【Python】植物大战僵尸-基于pygame模块-part2

    文章目录 版本介绍 一 种子栏类 SeedBank py 1 成员变量 2 方法 展示种子栏 二 主游戏类 MainGame py 1 成员变量 2 加载项 3 主事件项 三 最终效果 版本介绍 继上篇内容开发 该版本为ver1 1 后续版
  • go 进阶 请求代理相关: 二. ReverseProxy 基础讲解

    目录 一 ReverseProxy 基础 ReverseProxy 中提供了哪些功能 ReverseProxy 结构详解 ReverseProxy实现代理的简单示例 1 NewSingleHostReverseProxy 函数源码解释 2
  • 元宇宙大投资 & 元宇宙通证

    元宇宙大投资 元宇宙大投资 1 备战元宇宙大浪潮 元宇宙大投资 2 抓紧元宇宙本质 元宇宙大投资 3 决胜元宇宙投资 元宇宙大投资 4 元宇宙的终局 生物与数字的融合 元宇宙大投资 6 元宇宙中国之崛起 元宇宙大投资 7 全球投资脉络下的元
  • Linux 下搭建 Kafka 环境

    安装步骤 准备软件目录 mkdir datalake 上传之前下载好的安装包到 datalake 目录下 jdk 8u181 linux x64 gz kafka 2 11 2 1 0 tgz zookeeper 3 4 5 tar gz
  • Openwrt按键检测分析-窥探Linux内核与用户空间通讯机制netlink使用

    首先看一下Openwrt系统中关于按键功能的使用和修改 以18 06版本为例 按键功能实现在脚本中 比如18 06 package base files files etc rc button reset bin sh lib functi
  • 【闲趣】软链接:拯救你的C盘

    转载 本文主要解决电脑系统盘空间问题 虽然有一些软件我们修改了安装路径 但是无可避免的是还是有一些文件装在了C盘里 有没有什么办法可以把它们全部放到非系统盘呢 自从上次重装系统之后 电脑上的3dsmax也用不了了 今天想重新下载回来 但是之
  • Unity Frame Debugger和Profiler连接Android真机调试

    当用Profiler分析到不是代码导致的性能问题 当前场景最大的性能瓶颈是渲染时 或者自己写的Shader要调试时 都可以用Frame Debugger进行调试 按下列步骤设置打包 既可以用Profiler又可以用Frame Debugge
  • 【转载】爬虫篇——urllib3的基础知识(总结)

    一 快速入门 1 提出请求 导入urllib3模块 import urllib3 创建一个PoolManager对象 用于处理连接池和线程安全的所有详细信息 http urllib3 PoolManager 提出请求 请使用request
  • 7.27作业

    实现一个对数组求和的函数 数组通过实参传递给函数 bin bash read p 请输入数组 a arr sum 0 function fun for i in arr do sum i done fun echo sum
  • 浅谈矩阵分解在推荐系统中的应用

    推荐系统是当下越来越热的一个研究问题 无论在学术界还是在工业界都有很多优秀的人才参与其中 近几年举办的推荐系统比赛更是一次又一次地把推荐系统的研究推向了高潮 比如几年前的Neflix百万大奖赛 KDD CUP 2011的音乐推荐比赛 去年的
  • LeetCode 27. Remove Element(删除元素)

    原题网址 https leetcode com problems remove element Given an array and a value remove all instances of that value in place a
  • spring quartz 1.6配置方法

    该配置文件针对quartz 1 6 0 jar 较为常见 配置文件如下 启动时引入加载即可
  • 查看java编程环境是否配置成功

    验证Java编程环境是否配置成功 点击键盘Windows r键 打开运行提示框输入cmd按回车键打开命令框 输入javac 点击回车 查看java编译环境是否正常 输入 java 点击回车 查看java运行环境是否正常 输入java ver
  • 一起聊聊等保测评

    现在好多企业里面好像都在搞这个等保测评 这个等保测评终究是个什么东西呢 那企业为什么要做这个等保测评呢 做完之后对企业又有什么帮助呢 然后就是哪些企业需要做等保测呢 甚至很多企业做了很多次等保测评最后都不太了解这个等保测评 那今天就让我们一
  • QFramelessWidget 中多个组件添加滚动条

    QFramelessWidget 无边框窗口 QFramelessWidget是一个无框架的窗口小部件 它提供了一种在主窗口外绘制自定义窗口小部件的方法 在QFramelessWidget中添加多个组件时 有时候需要在这些组件中添加滚动条
  • echarts仪表盘进度条、指针动态渐变色显示

    1 echarts仪表盘实现效果如下 2 配置项代码 const option 鼠标悬浮的提示 tooltip formatter b c series type gauge min 0 最大值 max 100 最小值 startAngle
  • shiro简介以及基本框架搭建

    Shiro框架是一个基于java实现认证登录的安全框架 它是由Apache推出的 目前最新的版本是1 3 2版本 Shiro主要的功能有 Authentication 身份认证 登录 Authorization 授权 Session Man