Realm之IniRealm

        IniRealm是Shiro提供一种Realm实现。用户、角色、权限等信息集中在一个.ini文件那里。


文件名以.ini为后缀名表示采用的是IniRealm

        users开始的标签说明开始定义用户认证信息。这里有两个用户,他们的用户名分别是tom、jer,密码都是123.tom的角色有admin、user,而jer只有user角色。roles开始的标签开始定义角色拥有的权限标识,admin角色有user:delete权限,user角色有user.update权限标识。

        在编写完成这个Ini文件之后,下面开始测试。

需要Shiro-core、Junit、Slf4j三个jar包

        这次使用的是IniRealm实现类。在构建IniRealm时需要传入resourcePath来表示ini文件的路径。这个路径和你放置的Ini文件路径相关。我使用的是Idea开发工具,src包为source root,user.ini放置在src/test下,所以是classpath:test/user.ini。

        同样的,我们显示的实例一个Token,在27行。然后在28行检查是否可以认证、在29行检查是否具有user角色,在30行检查是否具有权限。

        在28行检查过程中,如果抛出org.apache.shiro.authc.UnknownAccountException。这表示不存在名为jer的账号。

        在28行检查过程中,如果抛出org.apache.shiro.authc.IncorrectCredentialsException。这表示密码有误,Credentials意味资格证书。

        在29行和30检查过程中,如果不具有相应的角色或权限,他们都抛出同样的异常org.apache.shiro.authz.UnauthorizedException。紧随异常类其后的异常信息会给出是不具有相应的权限还是角色。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 上一章主要对Shiro功能,运行原理,架构设计进行了介绍,这一章我们主要学习Shiro的身份验证。本章的代码...
    卑微幻想家阅读 2,095评论 0 12
  • 构建第一个Apache Shiro应用 如果您是Apache Shiro的新手,这个简短的教程将向您展示如何设置基...
    尘_竹阅读 1,722评论 0 3
  • 本篇文章主要是对权限框架shiro的一个小总结。写的不对的地方或者哪里需要修改的欢迎大家给出意见。 shiro是什...
    胡GaQue阅读 1,860评论 0 7
  • Shiro内置Realm IniRealm JdbcRealmhappy IniRealm 主要是将数据存放到相应...
    jarWorker阅读 934评论 0 1
  • 去他娘的‘婆娘’男人!真令人作呕而不堪入目。扭捏作态像女人的心眼跟针鼻一样小。我和老公入住他家二楼民房,那天...
    fpch阅读 117评论 0 0