Apache Shiro之HelloWorld

        Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码学和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

下面介绍一下Shiro 的HelloWorld

①建一个简单的maven工程

②引入相关的依赖

<!-- https://mvnrepository.com/artifact/org.apache.shiro/shiro-core -->
<dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-core</artifactId>
    <version>1.2.4</version>

</dependency>

由于引入shiro-core 核心包之后发现其中包含slf4j-api的jar所以引入下面的实现类的包

<!-- 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>

maven工程建好之后 在/src/main/resouces 文件夹下建一个shiro.ini配置文件来模拟用户

[users]

java=123456

wangChen=123

还可以在该目录下建一个log4j.properties文件  (日志文件的配置信息)

HelloWorld实例:

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();
UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken("wangChen", "123");
try{
currentUser.login(usernamePasswordToken);
System.out.println("登录成功");
}catch(AuthenticationException e){
e.printStackTrace();
System.out.println("登录失败");
}
currentUser.logout();  //退出登录
}
}


猜你喜欢

转载自blog.csdn.net/csdn_wangchen/article/details/79362188