一、首先添加 junit、common-logging 及 shiro-core的Maven依赖。
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.2</version> </dependency> </dependencies>
二、新建一个配置文件shiro.ini,然后在里面准备一些用户名和密码。
[users] wanmait=123456 test=123
三、测试用户登录
新建一个测试类ShiroTest,然后在里面新建一个测试方法testLogin。
public class ShiroTest {
@Test
public void testLogin() {
//1、获取 SecurityManager 工厂,此处使用 Ini 配置文件初始化 SecurityManager
Factory<SecurityManager> factory =
new IniSecurityManagerFactory("classpath:shiro.ini");
//2、得到 SecurityManager 实例 并绑定给 SecurityUtils
org.apache.shiro.mgt.SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
//3、得到 Subject 及创建用户名/密码身份验证 Token(即用户身份/凭证)
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken("test", "123");
try {
//4、登录,即身份验证
subject.login(token);
System.out.println("登录认证成功");
} catch (AuthenticationException e) {
//5、身份验证失败
System.err.println("认证失败");
}
Assert.assertEquals(true, subject.isAuthenticated()); //断言用户已经登录
//6、退出
subject.logout();
}
}运行测试方法,如果账户和密码是shiro.ini文件里面配置的,那么提示登录认证成功,否则提示认证失败。
例如:
用户名:wanmait 密码:123456
输出:登录认证成功
用户名:wanmait 密码:123
输出:认证失败

0条评论
点击登录参与评论