博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1.maven下仅shiro框架对shiro的测试使用
阅读量:5170 次
发布时间:2019-06-13

本文共 1275 字,大约阅读时间需要 4 分钟。

1. 添加maven的 webapp java resource 等文件夹,指定文件夹地位 添加xml文件

添加依赖:shiro——all

2. resources 添加 user.ini

[users]
zs=123,admin
lisi=123,normal
[roles]
admin=user:list,user:add,user:update
normal=user:list

3. 直接创建test类

类中写:
1) 导入user.ini配置文件
2) 创建DefaultSecurityManager安全管理器
3)获取shiro核心类:subject主体
4)获取验证token(因为是测试类,直接为token赋值)
5)使用subjec的login方法进行‘认证’,和user.ini文件验证token内容是否正确。
6)使用subjec的checkeRole 和 checkePermission 为通过认证的用户‘授权’。
7)over。

4. 代码如下:

private IniRealm iniRealm=new IniRealm("classpath:user.ini");

@Test

public void test1(){
/*new一个默认安全管理器*/
DefaultSecurityManager securityManager=new DefaultSecurityManager();
/*安全管理器加载外部信息*/
securityManager.setRealm(iniRealm);
/*SecurityUtils加载安全管理器*/
SecurityUtils.setSecurityManager(securityManager);
/*Subject是shiro主体对象,通过创建获得它*/
Subject subject=SecurityUtils.getSubject();
/*token传递用户名和密码的域属性*/
UsernamePasswordToken token=new UsernamePasswordToken("aaa","123");
/*login方法会对token进行处理。主要在我们的自定义realm里面。现在只是测试shiro框架
* 所以没有配置realm,主要的属性都会去user.ini配置文件里面查找。此时使用“aaa”和“123”
* 和user.ini不同,所以会报UnknownAccountException异常。*/
subject.login(token);
/*认证通过输出这个*/
System.out.println("认证通过");
subject.checkRole("admin");
subject.checkPermission("user:list");
System.out.println("授权通过");
}

转载于:https://www.cnblogs.com/PinkManBlog/p/11305130.html

你可能感兴趣的文章
eclipse 安装svn插件
查看>>
运行Myeclipse时,如何删除IVM窗口
查看>>
转:运行yum报错Error: Cannot retrieve metalink for reposit
查看>>
ROS-turtlesim
查看>>
电子书下载:MySQL Stored Procedure Programming
查看>>
Linux目录初识
查看>>
从贝叶斯定理说开去
查看>>
markdown公式编辑参考
查看>>
JS的IE和FF兼容性问题汇总
查看>>
hdu 2642 Stars 树状数组
查看>>
linux下的5款桌面环境
查看>>
巴西柔术第三课:封闭式防守的降服技术
查看>>
chrome下使用JS检测浏览器是否使用开发者工具
查看>>
自定义Angular服务
查看>>
【转】正则表达式括号的作用
查看>>
Core Data持久化数据存储(1)
查看>>
HDU 2544 最短路 Dijkstra
查看>>
mvc基于 ajax实现菜单下拉列表
查看>>
WebStorm2018.2 破解 激活
查看>>
常用内置函数-6
查看>>