Shiro HelloWorld

2024-09-01 14:48
文章标签 shiro helloworld

本文主要是介绍Shiro HelloWorld,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Maven工程结构图如下:



pom.xml中依赖如下:

<span style="white-space:pre">	</span><dependencies><dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-core</artifactId><version>1.2.4</version></dependency><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.13</version></dependency></dependencies>
log4j.properties

log4j.rootLogger=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m %n# General Apache libraries
log4j.logger.org.apache=WARN# Default Shiro logging
log4j.logger.org.apache.shiro=TRACE# Disable verbose logging
log4j.logger.org.apache.shiro.util.ThreadContext=WARN
log4j.logger.org.apache.shiro.cache.ehcache.EhCache=WARN

shiro.ini

[users]
zhang=1234
wang=123

HelloWorld.java

package com.trekiz.shiro;import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
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;public class HelloWorld {public static void main(String[] args) {//获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini");//获得SecurityManager实例SecurityManager securityManager =factory.getInstance();//绑定给SecurityUtils SecurityUtils.setSecurityManager(securityManager);//得到Subject及创建用户名/密码身份验证Token(即用户身份/凭证)  Subject currentUser = SecurityUtils.getSubject();UsernamePasswordToken token = new UsernamePasswordToken("zhang", "1234");try{currentUser.login(token);System.out.println("Succeed!");}catch(AuthenticationException e){e.printStackTrace();System.out.println("fail");}currentUser.logout();}}

运行即可

这篇关于Shiro HelloWorld的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127246

相关文章

【Shiro】Shiro 的学习教程(三)之 SpringBoot 集成 Shiro

目录 1、环境准备2、引入 Shiro3、实现认证、退出3.1、使用死数据实现3.2、引入数据库,添加注册功能后端代码前端代码 3.3、MD5、Salt 的认证流程 4.、实现授权4.1、基于角色授权4.2、基于资源授权 5、引入缓存5.1、EhCache 实现缓存5.2、集成 Redis 实现 Shiro 缓存 1、环境准备 新建一个 SpringBoot 工程,引入依赖:

【Shiro】Shiro 的学习教程(二)之认证、授权源码分析

目录 1、背景2、相关类图3、解析3.1、加载、解析阶段3.2、认证阶段3.3、授权阶段 1、背景 继上节代码,通过 debug 进行 shiro 源码分析。 2、相关类图 debug 之前,先了解下一些类的结构图: ①:SecurityManager:安全管理器 DefaultSecurityManager: RememberMeManager:实现【记住我】功能

【Shiro】Shiro 的学习教程(一)之快速入门

目录 1、Shiro 简介2、Shiro 认证、授权2.1、认证2.2、授权 3、快速入门4、自定义 Realm5、加密6、实现授权 1、Shiro 简介 Shiro 官网:https://shiro.apache.org/ Shiro 是一个功能强大且易于使用的 Java 安全框架,它执行身份验证、授权、加密和会话管理。使用 Shiro 易于理解的 API,您可以快速轻松地保

Python简单入门教程helloworld

Python 学习资源 推荐书籍: Python核心编程(第二版) (强烈推荐,建议有一定基础的看,或者看完简明Python教程再看) Python 基础教程 第二版 (入门,没有核心编程好,但也不错) 编写高质量代码:改善Python程序的91个建议 (进阶,有一定基础再看) 书籍下载: Python 教程(部分内容来源于网络, 历时一年多总结整理的,给刚刚入门的

HelloWorld 模块

helloworld.c 代码 #include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("Dual BSD/GPL");static int hello_init(void){printk(KERN_ALERT "Hello world\n");return 0;}static void hello_exit(v

shiro session 监听

spring 使用 shiro 后,由于shiro重新封装了原有的session,所以不能再使用原来的session监听方法了 (1)在shiro配额只文件中设置监听类   <!-- shiroSessionListener  监听类--><bean id="shiroSessionListener" class="com.listener.ShiroSessionListener"></

ROS程序设计系列 - 5.实例helloworld

ROS程序设计系列 - 5.实例helloworld 1. 源由2. 步骤Step 1:安装ROS系统Step 2:创建框架工程Step 3:检查工程结构Step 4:创建CPP文件Step 5:修改配置文件Step 6:编译工程 3. 测试Step 1: 启动ROS CoreStep 2: 启动Hello程序 4. 总结5. 参考资料6. 补充 1. 源由 在做《Ardupil

使用命令行窗口新建一个Java文件,输出HelloWorld

进入桌面 cd desktop 在桌面新建文件夹 mkdir zwt 进入文件夹,新建.Java文件 cd zwtecho. > helloWorld.java 使用记事本打开文件编写代码 notepad HelloWorld.java 此时电脑就会自动打开文件,直接编写代码 public class HelloWorld(){public static void mi

Shiro身份认证流程

http://www.toutiao.com/a6353832181929279746/?tt_from=mobile_qq&utm_campaign=client_share&app=explore_article&utm_source=mobile_qq&iid=5840657922&utm_medium=toutiao_ios

Shiro-721漏洞详解及复现

之前有些Shiro-550反序列化漏洞的文章Shiro-550漏洞详解及复现_shiro框架漏洞-CSDN博客 这里简单补充一下关于Shiro-721漏洞的内容。 目录 Shiro-721漏洞原理 Padding Oracle攻击 利用条件 影响版本 漏洞复现 Shiro-721漏洞原理 Shiro-721用到的加密方式是AES-128-CBC,跟Shiro-550最大的