shiro安全认证
2019-12-26 本文已影响0人
李霖神谷
1.shiro主要是做安全认证的框架,它主要包括认证授权两个功能,他是跨jvm编辑环境的
认证的简单dome
xml配置shiro的一个核心配置文件
<dependencies>
<dependency>
<groupId>org.apache.shiro</groupId>
<artifactId>shiro-all</artifactId>
<version>1.3.2</version>
</dependency>
</dependencies>
java实现类,安全认证的步骤
import com.sun.org.apache.bcel.internal.util.ClassPath;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.config.IniFactorySupport;
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 myshiro {
public static void main(String[] args) {
// 创建安全管理器工厂
Factory<SecurityManager> securityManagerFactory=new IniSecurityManagerFactory("classpath:shiro.ini");
// 创建安全管理器
SecurityManager securityManager=securityManagerFactory.getInstance();
// 设置为当前运行环境
SecurityUtils.setSecurityManager(securityManager);
// 创建subject主体
Subject subject= SecurityUtils.getSubject();
// 提交认证前创建令牌
UsernamePasswordToken usernamePasswordToken=new UsernamePasswordToken("lishuai","123456");
// 提交认证
try {
subject.login(usernamePasswordToken);
if (subject.isAuthenticated()){
System.out.println("ok");
}else{
System.out.println("no");
}
} catch (AuthenticationException e) {
e.printStackTrace();
}
}
}
配置文件:是ini扩展名的
[users]
lishuai=123456