您的位置:首页 > 运维架构 > Apache

apache shiro学习笔记--02(入门案例)

2017-10-08 12:08 621 查看

1.说明

用户的信息,权限,角色存放在配置文件(realm为textrelam)。

2.代码:

1.代码目录结构



2.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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion>
<groupId>com.xie..shiroStudy</groupId>
<artifactId>shiro01</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>shiro01 Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-core</artifactId>
<version>1.2.4</version>
</dependency>

<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.12</version>
</dependency>
</dependencies>
<build>
<finalName>shiro01</finalName>
</build>
</project>


3.shiro.ini

[users]
xie=123
fu=111


4.Shiro01.java

package com.xie.test;

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;

/**
* shiro入门案列
* @author xie
*
*/
public class Shiro01 {

public static void main(String[] args) {
// 读取配置文件,初始化SecurityManager工厂
//shiro.ini中存放用户信息,权限,角色
Factory<SecurityManager> factory=new IniSecurityManagerFactory("classpath:shiro.ini");

// 获取securityManager实例
SecurityManager securityManager=factory.getInstance();

// 把securityManager实例绑定到SecurityUtils
SecurityUtils.setSecurityManager(securityManager);

// 得到当前执行的用户
Subject currentUser=SecurityUtils.getSubject();

// 创建token令牌,用户名/密码(对用户名为xie,密码为123的用户认证)
UsernamePasswordToken token=new UsernamePasswordToken("xie", "123");

try{
// 身份认证(用xie,123和配置文件的进行匹配认证)
currentUser.login(token);
System.out.println("身份认证成功!");
}catch(AuthenticationException e){
e.printStackTrace();
System.out.println("身份认证失败!");
}
// 退出
currentUser.logout();

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