shiro权限管理入门程序
2024-10-19 00:22:12
最近在学shiro,觉得入门程序还是有用的,记下来防止遗忘,也可供大家参考。
package cn.itcast.shiro.authentication; 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;
import org.junit.Test; /**
*
* @author yxf
* shiro验证用户的登录
*
*/
public class AuthenticationTest { //用户登录退出
@Test
public void testLoginAndLogout() {
//创建securityManager工厂
Factory<SecurityManager> factory = new IniSecurityManagerFactory("classpath:shiro-first.ini"); //创建securityManager
SecurityManager securityManager = factory.getInstance(); //securityManager设置到当前运行环境中
SecurityUtils.setSecurityManager(securityManager); //SecurityUtils创建一个subject
Subject subject = SecurityUtils.getSubject(); //认证提交前准备token
UsernamePasswordToken token = new UsernamePasswordToken("zhangsan", "111111"); //执行认证提交
try {
subject.login(token);
} catch (AuthenticationException e) {
e.printStackTrace();
} //是否认证通过
boolean flag = subject.isAuthenticated(); System.out.println("是否认证通过:" + flag); //退出操作
subject.logout(); flag = subject.isAuthenticated(); System.out.println("是否认证通过:" + flag); }
}
最新文章
- 【leetcode】 Interleaving String (hard)
- ahjesus约束方法或属性的调用方
- Curling 2.0 分类: 搜索 2015-08-09 11:14 3人阅读 评论(0) 收藏
- jstl经典用法
- zoj 3471Most Powerful
- hdu4081(秦始皇的道路系统)
- 17年年终总结——走过2017,迎来2018Flag
- gdb中的define命令
- leetcode238
- 新复制行绑定JQuery.autocomplete事件
- 洛谷1288 取数游戏II
- asp.net MVC中防止跨站请求攻击(CSRF)的ajax用法
- MySQL学习【第一篇介绍】
- 关于 error C2001: 常量中有换行符
- 【转】React-Native 实现增量热更新的思路
- 设计 Azure SQL 数据库,并使用 C# 和 ADO.NET 进行连接
- 【Mac 10.13.0】安装 libimobiledevice,提示报错:warning: unable to access &#39;/Users/lucky/.config/git/attributes&#39;: Permission denied解决方案
- email 校验
- JavaScrip——简单练习(输出方式,简单表单验证)
- 【selenium专题】元素定位之多层框架和窗口