栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

GlassFish JDBC领域组成员身份

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

GlassFish JDBC领域组成员身份

我不确定配置JDBC领域需要遵循哪些内容,但是它似乎不完整或不正确。以下是我用来配置JDBC领域的配置的描述。


数据库结构(作为DDL语句):

USERS表

CREATE TABLE USERS (        USERID VARCHAr(50) NOT NULL,        PASSWORD VARCHAr(128) NOT NULL    );--//@UNDODROp TABLE USERS;

GROUPS表

CREATE TABLE GROUPS (        GROUPID VARCHAr(20) NOT NULL    );--//@UNDODROP TABLE GROUPS;

USERS_GROUPS连接表

CREATE TABLE USERS_GROUPS (        GROUPID VARCHAr(20) NOT NULL,        USERID VARCHAr(50) NOT NULL    );--//@UNDODROP TABLE USERS_GROUPS;

来自的Glassfish JDBCRealm配置片段

domain.xml

    <auth-realm name="MyRealm" classname="com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm">      <property description="null" name="jaas-context" value="jdbcRealm"></property>      <property name="encoding" value="Hex"></property>      <property description="null" name="password-column" value="PASSWORD"></property>      <property name="datasource-jndi" value="jdbc/myDS"></property>      <property name="group-table" value="USERS_GROUPS"></property>      <property name="user-table" value="USERS"></property>      <property description="null" name="group-name-column" value="GROUPID"></property>      <property name="digest-algorithm" value="SHA-512"></property>      <property description="null" name="user-name-column" value="USERID"></property>    </auth-realm>

请注意,该

group-name-column
属性的值为
GROUPID
,它映射到
GROUPID
联接表的列
USERS_GROUPS
而不是组表
GROUPS
。这是因为JDBCRealm发出以下SQL语句(如果您反编译
com.sun.enterprise.security.auth.realm.jdbc.JDBCRealm
该类):

密码查询,其中用户ID是从DigestLoginModule传递的参数:

SELECT <passwordColumn> FROM <userTable> WHERe <userNameColumn> = ?

组查询,以用户ID作为参数传递:

SELECt <groupNameColumn> FROM <groupTable> WHERe <groupTableUserNameColumn> = ?;

考虑第二个查询的结构时,很显然组表必须包含映射到组ID的用户ID(这导致映射到多个组的用户的组数据重复),或者组表必须是将用户映射到组的联接表。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/428108.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号