问题标签 [jdbcrealm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
334 浏览

oracle11g - 在 Glassfish JDBC-Realm 中使用户名不区分大小写

我们有一个 Glassfish JDBC-Realm,它使用 Oracle11g 数据库进行身份验证。用户名字段区分大小写,有没有办法使用户名身份验证不区分大小写?

0 投票
2 回答
2843 浏览

tomcat - 如何使用 Tomcat 7 配置 JNDI 领域以进行 PKI 用户证书身份验证?

列表,

实际上,我已经对这个主题进行了广泛的搜索,或者 a) 我不知道如何配置某些东西和/或 b) 我不太明白 JNDI 领域实际上应该做什么。我正在使用 Tomcat 7.0.32 和 jdk 1.7.0_15。

这就是我想要做的。我与使用 PKI 用户证书的客户合作。用户证书有一个类似“Joe Smith”的 cn。我需要做的是在 LDAP 中查找这个 CN 并获取用户 ID,这可能类似于“jsmith23”,然后在请求标头中填充 Principal 用户。原因是我在 Tomcat 中部署了一个应用程序,该应用程序专门调用 getRemoteUser() 并且必须正确填充此 ID(例如“jsmith23”)。这个应用程序有点像另一个第三方工具的 Web 适配器,因此会再次检查 LDAP。但是,它必须是这个用户标识。

我尝试了很多事情,但似乎无法通过 LDAP 查找。在我的 server.xml 中,它如下所示:

我的应用程序的 web.xml 文件如下所示:

我遇到的问题是,无论我尝试什么,我都会不断收到此错误:

消息无法使用提供的凭据进行身份验证描述此请求需要 HTTP 身份验证。

它提示我要我的证书,所以我知道它通过了。本地主机日志文件显示:

FINE:Realm.authenticate() 返回 false

但是,我知道我连接正确,因为如果我更改密码,我根本无法访问该站点。

我想我的一个问题是 JNDI 领域设置的结果是什么。如果它在 LDAP 中查找用户名的 CN,然后呢?这是否假设提供继续我的 Web 应用程序所需的身份验证?如果我将所有内容更改为 BASIC 并使用用户名/密码进行身份验证,它就可以完美运行。但是使用 CLIENT-CERT 和 LDAP 查找,我似乎无法实现我需要的。

我需要一个进程来根据他们的证书 CN 查找用户的 id,然后在 http 请求中填充 Principal 用户,以便以后调用 getTemoteUser() 可以正常工作。

任何帮助,将不胜感激。

0 投票
2 回答
6498 浏览

tomcat - DatasourceRealm Tomcat 6 配置:名称 jdbc 未绑定在此上下文中

我正在配置Tomcat 6DatasourceRealm中的所有内容。似乎配置正确,因为出现了登录提示。META-INF/context.xmlweb.xml

有人可以帮忙吗?

上下文.xml

javax.naming.NameNotFoundException: Name jdbc is not bound in this Context

0 投票
1 回答
254 浏览

authentication - 没有消息的 JDBC 领域错误

我目前正在努力进行 JDBC 领域的身份验证。我的情况如下:

我已经使用 GlassFish 3.1.2.2 创建了 JDBC Realm,并且设置已正确完成,或者至少我认为是这样。我知道如何配置它,实际上它工作正常,但有一个大问题。问题是这样的,当我使用用户名和密码创建用户并将其存储到数据库并尝试使用其用户名和密码登录时,它显示 Access Denied 403。好的,所以我检查了“严重:SEC1111:无法加载”的问题JDBC 领域用户 [username here] 的组。现在我想知道是什么导致了这个问题,但没有给出错误源,我检查了 GlassFish 控制台,但没有给出导致问题的原因。我还检查了服务器日志确定问题来源是否存在,但什么也没有。

所以我的问题是如何找出导致这个问题的原因?为了提供更多令人愉快的信息,当我将用户名添加到主体列表时,这个登录系统可以工作。目前在我的主要列表中,只定义了用户组名称。所以角色、主体名和组名都是一样的。所以我当然不想手动添加所有注册为主体的用户。

任何帮助表示赞赏。

0 投票
1 回答
110 浏览

java - 如何使用 Realm 从 tomcat 修改基本登录身份验证?

我有一个带有 tomcat、javajsp的 webproject 。我已经在我的 server.xml 中从 tomcat 中使用 Realm(基本身份验证)进行了身份验证,如下所示:

所以我有两个数据表:人员和用户角色。

所以当我登录时,我会收到标准登录窗口,我必须在其中输入我的用户名和密码......

但是知道我在这个登录窗口中还需要一个选项(字段项目名称)。像这样:

如果用户和密码是正确的,我会查看表 userroles,如果这个用户有这个项目的权限:

userroletable 看起来像这样:

如何在登录窗口中再做一个选项?例如

非常感谢你的帮助。

0 投票
1 回答
887 浏览

jdbc - 在 ServerMBean for Weblogic 上设置 JDBCLoginTimeoutSeconds

如何在启动服务器之前设置 jdbc-login-timeout-seconds。在 Weblogic 服务器启动时,如果数据源无法访问数据库,Weblogic 服务器线程会挂在 JDBC 驱动程序代码中,等待来自数据库服务器的回复。

该模式domain xmlns="http://xmlns.oracle.com/weblogic/domain"具有此属性 jdbc-login-timeout-seconds 但我无法弄清楚如何设置它?以下是来自 domain.xsd 的详细信息


以下是从 oracle 1) http://docs.oracle.com/cd/E11035_01/wls100/schemaref/config/http.www.bea.com.ns.weblogic.920.domain/types/ 进行设置的文档servertype.jdbc-login-timeout-seconds.html
2) http://docs.oracle.com/cd/E15523_01/web.1111/e13737/jdbc_datasources.htm#i1203054

此外,如果这可以通过我在 ServerMBean 上设置 JDBCLoginTimeoutSeconds 属性来完成,请分享通过管理控制台进行设置的步骤。

下面是我的 config.xml

0 投票
1 回答
5841 浏览

shiro - 使用 JDBCRealm 通过 Shiro 对用户进行身份验证

我正在尝试使用 Shiro 验证在 Tomcat 6 中运行的 servlet。

我有以下 shiro.ini 文件:

我的数据库中有以下内容:

如果我使用SimpleCredentialsManager它,它会根据用户表中的明文密码进行很好的身份验证。尝试使用PasswordMatcher一直非常令人沮丧。

密码和密码盐是通过 shiro-toolsHasher实用程序获得的。

当我尝试对HelloWorld用于测试的基本 servlet 进行身份验证时(path=rest/hello, context=/ws),我在日志中得到以下信息:

(完整日志在https://gist.github.com/recurse/5915693

它似乎试图将我的散列密码加载为类名。这是一个错误,还是我的配置错误?如果它是一个错误,我该如何解决它?如果是配置错误,我错过了什么?

0 投票
4 回答
10239 浏览

jndi - How to configure JDBCRealm to obtain its DataSource from JNDI

How do you use a JDBCRealm to handle authenticating and authorizing users in servlets? The only example I can find is to create the DataSource in web.xml (such as Authentication against database using shiro 1.2.1).

I do not want to include database credentials in my source tree (for obvious reasons) and would prefer to use a Context defined DataSource via JNDI as I have for every other RDBMS I have used for any other purpose in every other servlet project I have developed.

How do you configure a Shiro JDBCRealm to obtain its DataSource from JNDI?

0 投票
1 回答
209 浏览

session - 用户主体不在tomcat会话中持续存在的原因是什么?

使用领域时,为什么用户主体不保留在 tomcat 会话中?有没有办法配置阀门领域或会话来持久化它?这种技术是否存在安全问题?

我问的原因是,每次我重新部署我们的应用程序(至少一天几次)时,它都会将每个人都从领域中注销。现在这并不可怕,但我们需要一个生产解决方案。

0 投票
1 回答
574 浏览

tomcat - 在 Tomcat 自定义领域中获取会话对象

我正在使用带有 FORM 身份验证的 Tomcat 领域。身份验证完成后,我想在会话中保存一个对象,但不知道如何获取会话。

原因是我之前有一个登录 servlet 并使用我自己的身份验证,现在我需要切换到 Tomcat 领域并将登录 servlet 代码基本上迁移到我的自定义领域类。登录成功后,我需要创建一个包含会话特定对象的对象并将其放入当前会话中。而且我需要用户名和密码来创建它,所以 authenticate() 方法似乎是唯一的地方。