shiro 介绍
写这个系列的博客的初衷:由于网上的文章参差不齐, 要不是直接与spring的高度集合,就是博客写的不好看懂。这个系列,不会过多介绍底层原理,就是对shiro的快速入门。
源代码地址:链接:https://pan.baidu.com/s/1LvCOILLaN2edRRmQsifSTg 密码:grnp
Look at the URL of the reference document: http://shiro.apache.org/reference.html
直接进入主题:
创建一个简单的maven项目:
首先导入依赖包
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.zs.shiro</groupId> <artifactId>Shiro01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Shiro01</name> <description>Shiro</description> <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.12</version> </dependency> </dependencies> </project>编写基本的shiro配置工厂,在/Shiro01/src/main/resources下,文件名为 shiro.ini
[users] zs=123 zy=456现在进入正题:编写一个简单的列子,在/Shiro01/src/main/java下,创建/Shiro01/src/main/java/com/zs/shiro/Shiro01Test.java。
package com.zs.shiro; import org.apache.shiro.SecurityUtils; 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 Shiro01Test { public static void main(String[] args) { // TODO Auto-generated method stub //加载配置文件 这个配置文件要与上面的文件名相同 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); //获取实例 SecurityManager securityManager=factory.getInstance(); //将secruityManages绑定到SecurityUtils上 SecurityUtils.setSecurityManager(securityManager); //得到当前用户 Subject user=SecurityUtils.getSubject(); //自定义一个token令牌 UsernamePasswordToken userToken=new UsernamePasswordToken("zs","123"); //身份验证 user.login(userToken); System.out.println("登录成功:"+user.getPrincipal()); user.logout(); } }结果如图:
