1、创建maven shiro依赖
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-web</artifactId>
<version>${shiro.version}</version>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-spring</artifactId>
<version>${shiro.version}</version>
</dependency>
2、/src/main/resources下新建以ini后缀的文件类型,名字自定。定义测试使用的用户名和密码。
[users]
admin=123
joker=111
3、创建测试类
package com.suneee.shiro; import org.apache.shiro.SecurityUtils; import org.apache.shiro.authc.AuthenticationException; 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; import org.junit.Test; public class HelloWorld { //用户登陆和退出 @Test public void testHelloWorld(){ //创建securityManager工厂,通过Ini配置文件创建securityManager工厂 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); //创建SecurityManager SecurityManager sm = factory.getInstance(); //将securityManager设置到当前的环境中 SecurityUtils.setSecurityManager(sm); //从SecurityUtils里面创建一个subject Subject sb = SecurityUtils.getSubject(); //在认证提交前,需要准备token(令牌) UsernamePasswordToken token = new UsernamePasswordToken("joker","111"); try { sb.login(token); } catch (AuthenticationException e) { e.printStackTrace(); } //是否认证通过 boolean authenticated = sb.isAuthenticated(); System.out.println("认证是否通过="+authenticated); //退出操作 sb.logout(); } }