博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一头扎进Shiro-HelloWorld
阅读量:3977 次
发布时间:2019-05-24

本文共 1843 字,大约阅读时间需要 6 分钟。

   Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能: 

  •    认证 - 用户身份识别,常被称为用户“登录”;
  •    授权 - 访问控制;
  •    密码加密 - 保护或隐藏数据防止被偷窥;
  •    会话管理 - 每用户相关的时间敏感的状态。

   对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。

   下面我们通过一个HelloWorld程序帮助大家揭开shiro的神秘面纱。

   首先,我们创建一个maven项目,在pom文件添加对shiro的依赖:

4.0.0
com.shiro
Shiro01
0.0.1-SNAPSHOT
Shiro01
org.apache.shiro
shiro-core
1.2.4
org.slf4j
slf4j-log4j12
1.7.12
        
其次,我们在项目的resources目录下创建shiro.ini文件,记录用户信息:

[users]java1234=123456jack=123
         
接着我们创建一个main方法,演示shiro的登录过程:
package com.tgb.shiro;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 HelloWorld {	public static void main(String[] args) {		// 初始化SecurityFactory工厂		Factory
factory = new IniSecurityManagerFactory( "classpath:shiro.ini"); // 获取SessionFactory实例 SecurityManager securityManager = factory.getInstance(); // 把SecurityManager实例绑定到SecurityUtils SecurityUtils.setSecurityManager(securityManager); // 获得当前执行的用户 Subject currentUser = SecurityUtils.getSubject(); // 创建token令牌,用户名/密码 UsernamePasswordToken token = new UsernamePasswordToken("java1234", "123456"); try { //身份认证 currentUser.login(token); System.out.println("身份认证成功!"); } catch (AuthenticationException e) { e.printStackTrace(); System.out.println("身份认证失败!"); } }}
         
运行main函数,在控制台打印出“身份认证成功!”字样,到此关于shiro的初步了解到此结束,下篇文章将介绍shiro的身份验证。

转载地址:http://yokui.baihongyu.com/

你可能感兴趣的文章
FFMPEG详解
查看>>
linux驱动头文件说明
查看>>
avpicture_fill
查看>>
使用FFmpeg捕获一帧摄像头图像
查看>>
两矩阵相乘
查看>>
十进制转二进制 C语言实现
查看>>
svn 回滚
查看>>
注释一个opencv摄像头程序
查看>>
IMPORTERROR: MEMORYLOADLIBRARY FAILED LOADING
查看>>
关于linux source,export命令及一些疑惑的解决
查看>>
ffmpeg 新老接口问题及对照集锦
查看>>
opencv linux 打开摄像头视频
查看>>
Linux下动态链接库的使用
查看>>
交叉编译库依赖问题的解决方法
查看>>
FFmpeg浅尝辄止(二)——YUV视频序列编码为视频
查看>>
YUV格式详细解释与FFMPEG的关系
查看>>
mpeg压缩输入格式
查看>>
opencv 读取 yuv(4:2:0)
查看>>
关于获取yuv帧数问题
查看>>
采样率,比特率,帧率,码率
查看>>