美文网首页
Reaml之JdbcRealm

Reaml之JdbcRealm

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

        JdbcRealm是Shiro提供的另外一种Realm实现,当记录用户身份、角色、权限的信息存储在数据库中就应该使用这种实现。通过它的名字我们也可以看出是通过jdbc的方法是来访问数据库。

需要shiro-core、slf4j、Junit、Druid以及连接mysql的Jar包

        使用JdbcRealm作为Realm自然会涉及到数据库对象:dataSource。这里使用Druid连接池。配置好数据库后,在29行就把它和JdbcRealm关联起来。同时在第30行开启权限查找,这是必须的,不然第四十行代码抛出异常表示没有对应权限。

        但是,第38-40行的身份验证、角色验证、权限验证究竟到数据库test的那个表下找到相关信息,从而与37行代码所示的信息比对。在上面这个截图里看不出任何端倪。

       这是因为Shiro事先预设了。以38行的身份验证说明,当身份验证时,默认执行“select password from users where username = ?”,执行38行时,"?"被“tom”填充。角色验证、权限验证同样如此,就是说test数据库是我实现已经精心设计好的,表名,字段名都是符合Shiro的预期。

        如果要自定义各验证的查询语句,针对上述的引用对象realm,调用如下方法:

        realm.setAuthenticationQuery(String sql)    该方法设置身份验证的sql语句。

        realm.setUserRolesQuery(String sql)    该方法设置角色验证的sql语句。

        realm.setPermissionsQuery(String sql)    该方法设置权限验证的sql语句。

相关文章

  • Reaml之JdbcRealm

    JdbcRealm是Shiro提供的另外一种Realm实现,当记录用户身份、角色、权限的信息存储在数据库中...

  • Shiro内置Realm之JdbcRealm

    Shiro内置Realm IniRealm JdbcRealm JdbcRealm JdbcRealm的方式访问数...

  • 3.Shrio JdbcRealm

    shrio自定义JdbcRealm 在之前pom.xml基础上导入jdbc数据源 sql建表语句 这是我建成之后的...

  • shiro springboot 认证

    导入相关依赖 配置shiro2.1 配置类2.2 登录页配置2.3 shiro默认过滤器 自定义Reaml类 用户...

  • 4.Shrio自定义Realm

    自定义Realm pom.xml参见jdbcRealm java代码 1.自定义realm 2.创建测试类

  • 5.Shrio加密

    Shiro授权流程图 image.png pom文件参见JdbcRealm java代码 1.自定义Realm 2...

  • Shiro学习(三) Shiro JDBCRealm

    1、创建三张表 users/user_roles/roles_permissions 并插入数据 2、创建Jdbc...

  • 使用Shiro默认提供的JDBCRealm

    项目结构 创建数据库 首先创建一个Shiro数据库,然后建立三个表,分别是:users(用户表)、user_rol...

  • 3.jdbcRealm及Authentication Strat

    1.使用shiro框架来完成认证工作,默认情况下使用的是iniRealm,如果需要使用其他Realm,那么需要进行...

  • reaml数据库的基本用法

    附上github链接https://github.com/15118130757/ReamlUser导入库 并添加...

网友评论

      本文标题:Reaml之JdbcRealm

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