gpt4 book ai didi

oracle - 使用 Oracle DB 配置 Tomcat 的 JDBCRealm - 什么是正确的表结构?

转载 作者:行者123 更新时间:2023-11-28 23:40:04 24 4
gpt4 key购买 nike

尝试配置这组 - 但出现 403 错误。

表格说明:

SQL> desc tmc_users_names;
Name Null? Type
----------------------------------------- -------- ----------------------------
USER_NAME NOT NULL VARCHAR2(100)
USER_PASS VARCHAR2(100)
DESCRIPTION VARCHAR2(100)

SQL> desc tmc_users_roles;
Name Null? Type
----------------------------------------- -------- ----------------------------
USER_NAME NOT NULL VARCHAR2(100)
ROLE_NAME NOT NULL VARCHAR2(100)

在 Oracle 数据库中有角色表:

SQL> select * from tmc_users_roles;

USER_NAME
--------------------------------------------------------------------------------
ROLE_NAME
--------------------------------------------------------------------------------
setevoy // IRL - here is other data from SSL certftificate
cert

有用户表:

SQL> select * from tmc_users_names;

USER_NAME
--------------------------------------------------------------------------------
USER_PASS
--------------------------------------------------------------------------------
DESCRIPTION
--------------------------------------------------------------------------------
setevoy // IRL - here is other data from SSL certftificate

server.xml中有:

<Realm  className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.driver.OracleDriver"
connectionURL="jdbc:oracle:thin:@dbserver:1521:shname"
connectionName="tmc" connectionPassword="password"
userTable="tmc_users_names" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="tmc_users_roles" roleNameCol="role_name"

web.xml:

<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
<security-role>
<role-name>cert</role-name>
</security-role>

据我了解 - 由于身份验证过程,Tomcat 必须调用数据库,获取 tmc_users_names 表,从中获取 user_name,然后调用 tmc_users_roles,并比较 user_namerole_name,对吗?

但是 - 我得到了 403。

而且 - 如果我使用另一种数据库方案(使用 views 而不是通常的 table) - 它可以工作。

我从 Tomcat 的官方手册页获得了当前表的方案(MySQL 有 - 但我认为 Tomcat 没有区别?)。

那么 - 什么是 Oracle 数据库的正确表结构?只有 views?在我看来 - 一切都必须更容易......

附言为什么我不使用有效的方案?因为 - 我没有创建它,我不知道它是如何工作的。这就是为什么我尝试自己制作它 - 以了解此身份验证过程。

感谢提示。

最佳答案

不要忘记运行:

SQL> commit;
Commit complete.

将条目添加到 Oracle 表后...:-)

关于oracle - 使用 Oracle DB 配置 Tomcat 的 JDBCRealm - 什么是正确的表结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20572763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com