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授权和认证初识
发布评论