shiro授权和认证初识

编程入门 行业动态 更新时间:2024-10-25 12:21:29

<a href=https://www.elefans.com/category/jswz/34/1769573.html style=shiro授权和认证初识"/>

shiro授权和认证初识

一、创建SpringBoot2.X项目

步骤:=1001.2014.3001.5501

二、将shiro、druid 、junit包加入maven

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.1.6</version>
</dependency>
<dependency><groupId>org.apache.shiro</groupId><artifactId>shiro-spring</artifactId><version>1.4.0</version>
</dependency>
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.13.2</version>
</dependency>

 

三、shiro授权流程图

四、快速使用class

package com.example.springboot;import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.mgt.DefaultSecurityManager;
import org.apache.shiro.realm.SimpleAccountRealm;
import org.apache.shiro.subject.Subject;
import org.junit.Before;
import org.junit.Test;public class QuickStart1 {private SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm();private DefaultSecurityManager defaultSecurityManager= new DefaultSecurityManager();@Beforepublic void init(){//初始化数据源simpleAccountRealm.addAccount("jekin","123456");simpleAccountRealm.addAccount("peter","123456");//构建环境defaultSecurityManager.setRealm(simpleAccountRealm);}@Testpublic void testauthentication(){SecurityUtils.setSecurityManager(defaultSecurityManager);
//        当前操作主题,application userSubject subject = SecurityUtils.getSubject();//用户输入账号密码UsernamePasswordToken usernamePasswordToken =new UsernamePasswordToken("jekin","123456");subject.login(usernamePasswordToken);System.out.println("认证结果:"+subject.isAuthenticated());}}

运行结果:

21:44:07.480 [main] DEBUG org.apache.shiro.realm.AuthenticatingRealm - Looked up AuthenticationInfo [jekin] from doGetAuthenticationInfo
21:44:07.500 [main] DEBUG org.apache.shiro.realm.AuthenticatingRealm - AuthenticationInfo caching is disabled for info [jekin].  Submitted token: [org.apache.shiro.authc.UsernamePasswordToken - jekin, rememberMe=false].
21:44:07.500 [main] DEBUG org.apache.shiro.authc.credential.SimpleCredentialsMatcher - Performing credentials equality check for tokenCredentials of type [[C and accountCredentials of type [java.lang.String]
21:44:07.500 [main] DEBUG org.apache.shiro.authc.credential.SimpleCredentialsMatcher - Both credentials arguments can be easily converted to byte arrays.  Performing array equals comparison
21:44:07.500 [main] DEBUG org.apache.shiro.authc.AbstractAuthenticator - Authentication successful for token [org.apache.shiro.authc.UsernamePasswordToken - jekin, rememberMe=false].  Returned account [jekin]
21:44:07.500 [main] DEBUG org.apache.shiro.subject.support.DefaultSubjectContext - No SecurityManager available in subject context map.  Falling back to SecurityUtils.getSecurityManager() lookup.
21:44:07.500 [main] DEBUG org.apache.shiro.subject.support.DefaultSubjectContext - No SecurityManager available in subject context map.  Falling back to SecurityUtils.getSecurityManager() lookup.
21:44:07.500 [main] DEBUG org.apache.shiro.session.mgt.AbstractValidatingSessionManager - No sessionValidationScheduler set.  Attempting to create default instance.
21:44:07.500 [main] INFO org.apache.shiro.session.mgt.AbstractValidatingSessionManager - Enabling session validation scheduler...
21:44:07.510 [main] DEBUG org.apache.shiro.session.mgt.DefaultSessionManager - Creating new EIS record for new session instance [org.apache.shiro.session.mgt.SimpleSession,id=null]
认证结果:trueProcess finished with exit code 0

 

更多推荐

shiro授权和认证初识

本文发布于:2024-02-11 19:26:06,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1682917.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:shiro

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!