暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

基于Shiro安全框架的身份验证最简单的实例

51ASPNET 2021-08-19
225

一、首先添加 junitcommon-logging shiro-coreMaven依赖。

<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

@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("wanmait", "1234567");
try {
//4、登录,即身份验证
subject.login(token);
System.out.println("登录认证成功");
} catch (AuthenticationException e) {
//5、身份验证失败
System.err.println("认证失败");
}
//6、退出
subject.logout();
}

运行测试方法,如果账户和密码是shiro.ini文件里面配置的,那么提示登录认证成功,否则提示认证失败。

例如:

用户名:wanmait 密码:123456

输出:登录认证成功

用户名:wanmait 密码:123

 输出:认证失败

文章转载自51ASPNET,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论