gpt4 book ai didi

java - JDBCRealm 不起作用但没有错误消息

转载 作者:行者123 更新时间:2023-11-29 23:35:45 27 4
gpt4 key购买 nike

希望有人能帮助我。我尝试通过 JDBCRealm 配置身份验证。这是第一次这样做。

这是我的表格:

*Table userprincipal*
email : varchar
password : varchar

*Table role*
email : varchar
role : varchar

我使用 Tomcat 7 服务器。所以我改变了 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="com.mysql.jdbc.Driver" connectionURL="jdbc:mysql://localhost:3306/myData"
connectionName="user"
connectionPassword="pwd"
userTable="userprincipal"
userNameCol="EMAIL"
userCredCol="password"
userRoleTable="userprincipal_role"
roleNameCol="role" />

我在 web.xml 中添加了以下几行

<security-constraint>
<web-resource-collection>
<web-resource-name>Default</web-resource-name>
<url-pattern>/services/customer/*</url-pattern>
<url-pattern>/services/material/loadAllByQuery</url-pattern>
<url-pattern>/services/SalesOrder/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
<role-name>user</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-method>BASIC</auth-method>
</login-config>

<security-role>
<role-name>admin</role-name>
</security-role>
<security-role>
<role-name>user</role-name>
</security-role>

当我启动应用程序并调用只有管理员和用户可以访问的 URL 时,我会从浏览器中弹出登录窗口。但如果我使用正确的用户数据登录,弹出窗口会再次出现。其他无需登录的页面工作正常。

控制台中没有显示任何异常、警告或其他错误。

我怎样才能找出问题所在?

SDK是Java 1.7
Tomcat版本是7.0

最佳答案

看来问题出在 Tomcat 安装上。我是通过Eclipse安装的。现在我手动安装它并部署我的项目的 war 文件。它有效。

关于java - JDBCRealm 不起作用但没有错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26385029/

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