JAVA全系列 教程
3762个小节阅读:7094.1k
目录
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
Shrio支持多种数据源,我们首先将用户名密码写入配置文件,让Shiro读取配置文件进行认证。
在resources
目录下编写配置文件shiro.ini
xxxxxxxxxx
#声明用户账号
[users]
baizhan=123
编写登录控制器方法
xxxxxxxxxx
@Controller
public class LoginController {
@RequestMapping("/user/login")
public String login(String username,String password){
// 1.获取SecurityManager工厂,读取配置文件
IniSecurityManagerFactory factory = new IniSecurityManagerFactory("classpath:shiro.ini");
// 2.获取SecurityManager对象
SecurityManager securityManager = factory.getInstance();
// 3.将SecurityManager对象设置到运行环境中
SecurityUtils.setSecurityManager(securityManager);
// 4.获取Subject对象
Subject subject = SecurityUtils.getSubject();
// 5.将前端传来的用户名密码封装为Shiro提供的身份对象
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
try {
// 6.shiro认证
subject.login(token);
// 7.认证通过跳转到主页面
return "main";
}catch (AuthenticationException e){
// 8.认证不通过跳转到失败页面
return "fail";
}
}
}
启动项目,访问登录页http://localhost/login,测试登录功能。
实时效果反馈
1. 在Shiro中,使用对象读取配置文件shiro.ini
A IniSecurityManagerFactory
B SecurityManager
C SecurityUtils
D Subject
答案
1=>A