本文共 1843 字,大约阅读时间需要 6 分钟。
Apache Shiro是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能:
对于任何一个应用程序,Shiro都可以提供全面的安全管理服务。并且相对于其他安全框架,Shiro要简单的多。
下面我们通过一个HelloWorld程序帮助大家揭开shiro的神秘面纱。
首先,我们创建一个maven项目,在pom文件添加对shiro的依赖:
其次,我们在项目的resources目录下创建shiro.ini文件,记录用户信息: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
[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运行main函数,在控制台打印出“身份认证成功!”字样,到此关于shiro的初步了解到此结束,下篇文章将介绍shiro的身份验证。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("身份认证失败!"); } }}
转载地址:http://yokui.baihongyu.com/