您的位置:首页 > 编程语言 > Java开发

java安全框架-Shiro学习笔记(一)-入门小案例

2016-06-26 11:29 846 查看
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。

我们先来一个简单的示例

1、创建maven项目



2、将依赖jar包引入项目中,包括shiro和slf4j。



注意:不要忘记把log4j.properties加载到项目路径下

3、添加配置文件,shiro.ini,模拟从数据库中查询登录名称和密码

[users]:代表用户,后面还会介绍 [roles]



4、demo实例,用于登录用户的身份认证。

<span style="font-size:18px;">package com.feiyang;

import org.apache.shiro.SecurityUtils;
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 HelloWorld {
public static void main(String[] args) {
//读取配置文件,初始化SecurityManager工厂
Factory<SecurityManager> factory =
new IniSecurityManagerFactory("classpath:shiro.ini");
//获取securityManager实例
SecurityManager securityManager = factory.getInstance();
//把securityManager实例绑定到SecurityUtils
SecurityUtils.setSecurityManager(securityManager);
//得到当前执行的用户
Subject subject = SecurityUtils.getSubject();
//创建token令牌,用户名/密码
UsernamePasswordToken token = new UsernamePasswordToken("feiyang","123456");
try{
//身份验证
subject.login(token);
System.out.println("身份登录成功 ");
}catch(Exception e){
e.printStackTrace();
System.out.println("身份登录成失败");
}
//退出
subject.logout();
}
}
</span>

首先我输入正确的用户名feiyang,密码123456,输出结果如下



之后,输入错误的用户名或密码,输出结果如下:



至此demo完成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: