您的位置:首页 > 其它

Shiro中最简单的一个身份验证例子

2016-12-06 01:05 363 查看
Shiro作为一个Java安全框架,身份验证是它最基本的功能。

首先给出shiro的Maven配置

<dependencies>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.2</version>
</dependency>
</dependencies> 一.配置文件的验证
1.配置文件user.ini[users]
zhang=123
wei=123这里必须写2个,一个用户名,一个密码

2.测试类
package com.zw.mymaven;

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;

public class Test {
public static void main(String[] args) {
// 1、获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager
Factory<SecurityManager> factory=new IniSecurityManagerFactory("shiro.ini");
// 2、得到SecurityManager实例 并绑定给SecurityUtils
SecurityManager securityManager = factory.getInstance();
SecurityUtils.setSecurityManager(securityManager);
// 3、得到Subject及创建用户名/密码身份验证Token(即用户身份/凭证)
Subject subject = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken("zhang", "123");
//UsernamePasswordToken token2 = new UsernamePasswordToken("password", "wei");
try {
// 4、登录,即身份验证
subject.login(token);
System.out.println("登录成功 ");
//subject.login(token2);
} catch (AuthenticationException e) {
e.printStackTrace();
System.out.println("登录失败 ");
// 5、身份验证失败
}
// 6、退出
subject.logout();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: