一个Shiro的入门maven实例。
环境:jdk1.8+maven+Eclipse
创建一个maven项目Shiro01,pom.xml如下。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.java1234</groupId> <artifactId>Shiro01</artifactId> <version>0.0.1-SNAPSHOT</version> <name>Shiro01</name> <description>Shiro01</description> <dependencies> <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-core</artifactId> <version>1.2.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.12</version> <scope>test</scope> </dependency> </dependencies> </project>
引入shiro的包,以及slf4j包等。
在resources目录新建一个配置文件,shiro.ini ,内容如下。
[users]
java=123456
jack=123
将log4j的配置文件也放入resources目录下
建立一个java类,内容如下:
package com.java.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) { //读取配置文件,初始化SecurityManager工厂 Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro.ini"); //获取SecurityManager实例 SecurityManager securityManager = factory.getInstance(); //把securityManager 实例绑定到SecurityUtils SecurityUtils.setSecurityManager(securityManager); //得到当前执行额用户 Subject currentUser = SecurityUtils.getSubject(); //创建token令牌,用户名/密码 UsernamePasswordToken token = new UsernamePasswordToken("java","123456"); try { //身份认证 currentUser.login(token); System.out.println("身份认证成功"); } catch (AuthenticationException e) { e.printStackTrace(); System.out.println("身份认证失败"); } } }
运行
结果为:身份认证成功。
参考内容:《一头扎进Shiro系列》