一、首先添加 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条评论
点击登录参与评论