美文网首页
Realm之IniRealm

Realm之IniRealm

作者: Colors_a378 | 来源:发表于2018-12-17 21:12 被阅读0次

            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。紧随异常类其后的异常信息会给出是不具有相应的权限还是角色。

    相关文章

      网友评论

          本文标题:Realm之IniRealm

          本文链接:https://www.haomeiwen.com/subject/akqhkqtx.html