gpt4 book ai didi

forms - 需要为带有 oracle 数据库的 tomcat webapp 配置一个旧的 JDBCRealm

转载 作者:行者123 更新时间:2023-11-28 22:00:27 25 4
gpt4 key购买 nike

我正在尝试恢复一些旧的 java webapps 但丢失了我的旧 glassfish 配置文件,其中定义了我的 JDBCRealm。现在我正在尝试将旧 war 部署到 Tomcat 7 并且需要重新创建 JDBCRealm 来验证用户。我从事这些工作已经很久了,我不记得如何去做,我看了官方文档,但它缺少 oracle 的 connectionURL。我想我的数据库和以前一样设置了用户和角色表。

我什至可以在 Tomcat 7 上重用在 glassfish 3 上运行的旧 war 吗?它包含一个 sun-web.xml 文件。那只是为了 Glassfish 吗?

我正在使用表单例份验证方法 - 这是我的 web.xml 的片段:

 <login-config>
<auth-method>FORM</auth-method>
<realm-name>jdbc/myapp/realm</realm-name>
<form-login-config>
<form-login-page>/loginPage.jsp</form-login-page>
<form-error-page>/loginError.jsp</form-error-page>
</form-login-config>

这是来自 server.xml 文件的我的领域片段:

  <Realm className="org.apache.catalina.realm.LockOutRealm">

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>

</Realm>


<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@localhost:1521:XE"
userTable="users"userNameCol="username"
userCredCol="wpassword"userRoleTable="roles"roleNameCol="rolename"/>

我的 connectionURL 看起来正确吗?还有什么可能是错的?现在,当我尝试登录时,它从不接受我的密码。我总是收到登录错误页面(不是完整的应用程序崩溃)。

最新领域版本:

<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="oracle.jdbc.OracleDriver"
connectionURL="jdbc:oracle:thin:@localhost:1521:XE"
connectionName="uname"
connectionPassword="pword_33"
userTable="USERS"
userNameCol="USERNAME"
userCredCol="WPASSWORD"
userRoleTable="ROLES"
roleNameCol="ROLENAME" />

最佳答案

连接 URL 看起来没问题,假设数据库 sid 是 XE。您似乎缺少 connectionName 和 connectionPassword 属性。 docs 中以粗体列出的任何属性是必需的。

关于forms - 需要为带有 oracle 数据库的 tomcat webapp 配置一个旧的 JDBCRealm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10577725/

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