shiro NO1

xiaoxiao2021-02-28  51

shiro 介绍与认证(登录)

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(); } }

结果如图:

        

转载请注明原文地址: https://www.6miu.com/read-2632417.html

最新回复(0)