首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shiro JdbcRealm授权的表模式?

Shiro JdbcRealm授权的表模式?
EN

Stack Overflow用户
提问于 2014-10-06 19:13:28
回答 1查看 2.7K关注 0票数 4

我希望我的应用程序同时使用阿帕奇·希罗进行身份验证和授权。我希望从简单开始,并将关系数据库作为这两个方面的数据源。这意味着我需要使用JdbcRealm

在阅读文档之后,我不清楚任何“用户表”需要什么样的表模式,包括将用户链接到其权限/角色的任何表。

所以我问:使用Shiro的JdbcRealm**,的如何/在哪里链接用户的权限/角色?**

它不能在shiro.ini文件中,因为它是一个静态配置文件,不适合连接到存储用户信息的JDBC数据源。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-06 19:32:35

JdbcRealm不依赖于特定的表模式:它使用一些默认查询,您可以重写这些查询(通过子类化或通过特定的setter方法),以便使其适应您的需要。

正如javadoc中所述,您可以使用默认查询作为构建自己模式的基础。查看一下来源,您可以开始创建三个基本表:usersuser_rolesroles_permissions

代码语言:javascript
复制
protected static final String DEFAULT_AUTHENTICATION_QUERY = "select password from users where username = ?";

/**
* The default query used to retrieve account data for the user when {@link #saltStyle} is COLUMN.
*/
protected static final String DEFAULT_SALTED_AUTHENTICATION_QUERY = "select password, password_salt from users where username = ?";

/**
* The default query used to retrieve the roles that apply to a user.
*/
protected static final String DEFAULT_USER_ROLES_QUERY = "select role_name from user_roles where username = ?";

/**
* The default query used to retrieve permissions that apply to a particular role.
*/
protected static final String DEFAULT_PERMISSIONS_QUERY = "select permission from roles_permissions where role_name = ?";
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26223179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档