Board logo

标题: Shiro01 功能点框图、架构图、身份认证逻辑、身份认证代码实现(3) [打印本页]

作者: look_w    时间: 2019-1-17 21:17     标题: Shiro01 功能点框图、架构图、身份认证逻辑、身份认证代码实现(3)

代码实现1、创建一个Maven工程,不同的maven工程即可,不需要时web工程
2、引入junit、shiro依赖
[url=][/url]
        <dependency>            <groupId>org.apache.shiro</groupId>            <artifactId>shiro-core</artifactId>            <version>1.4.0</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.12</version>        </dependency>[url=][/url]

3、在resources目录下创建一个shiro.ini文件
3.1、项目目录结构
todo:贴图
3.2、shiro.ini内容
[users]fury=111111zeus=222222
4 测试类
[url=][/url]
package com.xunyji.shirotest.kaitao;import jdk.nashorn.internal.parser.Token;import org.apache.shiro.SecurityUtils;import org.apache.shiro.authc.UsernamePasswordToken;import org.apache.shiro.mgt.DefaultSecurityManager;import org.apache.shiro.realm.text.IniRealm;import org.apache.shiro.subject.Subject;import org.junit.Test;/** * @author AltEnter * @create 2019-01-17 14:58 * @desc 认证 **/public class TestDemo01 {    @Test    public void testDemo01() {//        01 创建Realm        IniRealm iniRealm = new IniRealm("classpath:shiro.ini");//        02 创建SecurityManager并将Realm设置到SecurityManager中        DefaultSecurityManager defaultSecurityManager = new DefaultSecurityManager();        defaultSecurityManager.setRealm(iniRealm);//        03 将SecurityManager设置到SecurityUtils中        SecurityUtils.setSecurityManager(defaultSecurityManager);//        04 从SecurityUtils中获取Subject        Subject subject = SecurityUtils.getSubject();//        05 将用户名和用户密码封装成一个Token        UsernamePasswordToken token = new UsernamePasswordToken("fury", "111111");//        06 通过Subject进行登录认证        subject.login(token);//        07 通过Subject判断登录认证结果        System.out.println(String.format("用户名fury和密码111111的用户的认证结果为:%s", subject.isAuthenticated()));    }




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0