问题标签 [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 投票
1 回答
18309 浏览

java - javax.security.auth.login.LoginException:安全异常

我正在尝试使用 GlassFish v3.1.2 和 JSF 2.1 和 primeFaces 3.4.2 设置容器管理的安全性

HexValue 值与数据库匹配,但得到以下异常

我尝试了 Base64 编码器,但结果相同。计算出的值和密码都很好,我错过了其他一些东西......还有其他我错过的设置,尤其是 glassfish 或 login.xhtml 文件

用户名:admin1 通过:admin

使用以下 SHAConverter.java

这是 Glassfish 领域设置

我的 login.xhtml

我的 web.xml

我的 glassfish-web.xml

我使用了这个帖子表格,但是这个表格的计算不匹配,但我的问题似乎与计算不同

0 投票
1 回答
2667 浏览

jsp - 使用 Java EE Form 身份验证登录后访问用户详细信息

我已经实现了一个 Java EE 安全领域,如果用户尝试访问受保护的资源,它将重定向到 login.jsp。

  • 假设用户想要访问一个受保护的 url -http://mywebapp/shopping_cart映射到 ShoppingCartServlet
  • 由于他们没有登录 Glassfish 将他们定向到 login.jsp
  • 然后他们输入他们的用户名和密码并单击登录,信息就会发布到http://mywebapp/j_security_check
  • 如果他们输入了正确的详细信息,他们就会被重定向到处理 url 的 servlethttp://mywebapp/shopping_cart

现在我想从数据库中提取用户的详细信息,但是当重定向请求中没有参数时我该怎么办?

他们的用户名已发送到,http://mywebapp/j_security_check但 j_security_check 发出的重定向请求中没有参数http://mywebapp/shopping_cart。那么用户登录后使用什么方法来访问用户的详细信息呢?

0 投票
0 回答
1724 浏览

java - glassfish 3.1.2.2 JDBC 安全领域中的 CORBA.NO_PERMISSION

请帮我解决这个问题......我做错了什么?

CreateJDBCRealmUser 类在 DB oracle 10g XE 中创建用户

HelloClient - 它是一个 JAVA 应用程序客户端

HelloRemote - 客户端到 EJB 的远程接口,服务器端存在相同的远程接口/

你好 - 它是一个实现 HelloRemote

auth.conf - 配置文件

SQL DDL

最后是 GF 3.1.2.2 JDBC REALM 配置

sun-ejb-jar.xml

0 投票
1 回答
353 浏览

tomcat - Tomcat REALM 在某些情况下不进行身份验证

我正在使用 Tomcat 7 和 Realm 使用 JDBC 进行身份验证。我扩展了 DataSourceRealm 以使用我们自己的实现。我的问题是,在某些情况下,Tomcat REALM 似乎没有调用 DataSourceRealm 中的任何方法,但从一开始就未能通过身份验证。这通常发生在用户通过身份验证时更改数据库中的密码时。在使用户无效并尝试再次登录后,无论我尝试使用什么密码,tomcat 都不会让我进入。只有重新启动 tomcat 才能解决此问题。

在 DataSourceRealm 类(扩展类)中放置断点我看到通常 tomcat 会调用 authenticate 方法,但在特殊情况下,TC 根本不会调用 DataSourceRealm 中的任何内容。为什么是这样?有某种缓存吗?对此没有任何记录。

还有一件事:多次将用户名字符更改为大写将起作用。所以我可以以管理员身份登录,但不能以管理员身份登录(使用 aDmin 它将按预期调用 DataSourceRealm),这让我确信用户以某种方式被缓存。

0 投票
1 回答
727 浏览

java - JDBC 领域身份验证不应该与单个表一起使用吗?

我正在尝试在 Glassfish 3.1 中设置一个非常基本的 JDBC 领域身份验证。该应用程序由一个具有一种业务方法的 EJB 和一个远程客户端应用程序(不是 Web 应用程序)组成。我想我在这里遗漏了一些基本的东西。

我遵循了 Java EE 6 教程,并完成了所有步骤。我没有收到任何错误,但它从不接受正确的用户名和密码。我最好的猜测是用于身份验证的表的结构可能存在问题,因为我正在尝试使用单个表来存储用户和组。(比我知识渊博的人在另一篇文章中提到这是可能的,官方教程也使用单个表。我的所有用户都将在一个组中('users'),所以我不想创建一个第二张表。我想让应用程序尽可能简单。)

我有一个带有一个表('ACCOUNTS')的数据库('auth'),它有 3 个字段:'NAME' 是主键,'PASSWORD' 和 'GROUPS'。我对桌子没有任何限制。

我添加了一个用户:

我的 glassfish-application.xml 具有指定的角色映射和领域:

领域设置:(Glassfish截图)

豆子:

还将创建 JDBC 连接池和资源。

当我从远程客户端调用 bean 时,会出现登录提示。我输入名称和密码,然后我得到一个 SecurityException:

在此之后,登录窗口再次出现,就像名称/密码错误时一样。当我使用file领域时,它可以完美运行,但不适用于 jdbc 领域。

表应该不同吗?(我应该使用多个表吗?)还是我做错了什么?提前致谢!

0 投票
2 回答
2210 浏览

tomcat - OpenShift、Tomcat7 和 JDBC 领域

我正在尝试将基于 JaveEE Tomcat7 的应用程序部署到 OpenShift。整个配置基于 Tomcat 7 (JBoss EWS 2.0) catridge。到目前为止,我已经在本地开发了我的应用程序,并且一切正常,包括基于 JDBCRealm 的用户身份验证。

项目规范,pom.xml 附在帖子末尾:

  • 完全基于 Maven
  • 通过工件org.apache.tomcat.maven使用的 tomcat

但是现在我需要让我的应用程序在网络上可用,所以我决定去 OpenShift,在那里我创建了 Tomcat7 应用程序(它也是基于 maven 的)。部署成功,但我现在遇到了本地工作的 JDBCRealm 问题。问题是 tomcat 无法找到 MySQL 驱动程序来打开领域连接。通过指定我的 context.xml 并添加 mysql 依赖项,我用org.apache.tomcat.maven解决了这个问题。但是maven-war-plugin似乎没有注入依赖项的选项。所以我遇到了这样的错误:

和 pom.xml 像这样,它不能完成这项工作:

当然,我的 context.xml 似乎已被检测到,并且 tomcat 尝试从中读取配置,但由于缺少 mysql 驱动程序,它失败并出现 SQLException:

0 投票
2 回答
1032 浏览

java - 使用 JDBCRealm 保护 REST Web 服务?

我在这里阅读了如何保护 REST 服务的非常好的答案,但所有这些都只是纯粹的理论,并没有太大帮助。使用 REST 时如何实现 JDBCRealm-FORM 身份验证?

登录表单

web.xml

问题:

1) 我在 Glassfish 中创建了 JDBCRealm,它正在工作。我用另一个 jsf-app 测试了它。在 clien-REST-service 的情况下,例如:<url-pattern>/protected/*</url-pattern>在正常情况下,它指的是受保护的 jsp/jsf/xhtml 等页面所在的“文件夹”,但现在在哪里?

2)会话呢?我认为在无状态上下文中使用会话是不可能的

3) 甚至可以在 REST 中使用基于 FORM 的身份验证吗?

4)任何比我聪明的人解释如何保护客户端 - 服务器休息应用程序的教程链接。

0 投票
0 回答
2640 浏览

jakarta-ee - 使用自定义 Java EE 领域登录

我用 glassfish 和 netbeans 创建了一个 Java EE 应用程序。我从这里安装了自定义的灵活 jdbc 领域。我按照所有说明操作并使用了如下所示的属性(默认和服务器配置)

我的第一个问题是我应该在哪里创建领域,在默认配置或服务器配置中?

我还使用表创建了数据库(电子健康):用户、组

我想使用这个领域的原因是我想用盐和 jdbc 领域加密密码我没有这个选项!

我的问题是我无法登录。

我使用 net beans IDE 并创建了 login 和 loginError 页面:

登录.JSP

我在 servlet 中使用此代码创建了一个用户:

我创建的组和角色是医生、药剂师、微型医生、患者、管理员。

我在 web.xml 和 glassfish-web.xml 中创建了角色:

WEB.XML

GLASSFISH-WEB.XML

首先,我在 servlet 中创建了这个注释:

这是凭据:

用户名:John 密码(含盐):kwkBo2sKjPHPvqFTQReMGS8Cbj8PbAoFxvuk :4b8mHanRWrI9HitaES4s8x5F05WWFz3IN3+Hjp7XtRg=

用户名:John 组名:医生

加密密码为:12345

我做错了什么?

我在表单中输入了凭据:John/12345 并显示了错误页面。

我必须以某种方式解密密码吗?这不是由领域本身起作用吗?

0 投票
1 回答
8132 浏览

tomcat7 - 即使是正确的凭据,基本身份验证也不起作用

我正在尝试配置 Tomcat 7 JDBC 领域配置。我完全按照本教程进行操作: http ://www.avajava.com/tutorials/lessons/how-do-i-use-a-jdbc-realm-with-tomcat-and-mysql.html

我收到基本身份验证弹出窗口,但即使我输入正确的凭据,用户也未通过身份验证。我没有收到任何错误消息。

教程指定 Tomcat 5.5,但我使用的是 Tomcat 7。我刚刚更改了动态 Web 项目的connectionPaswordconnectionName和名称。

这是server.xmlJDBC 领域配置

这是web.xml

我所能看到的是,我收到了有关安全性的消息:

你能帮我解决这个问题吗?这个问题与Tomcat 7有关吗?

0 投票
1 回答
105 浏览

glassfish - Glassfish 3.1.2.2 上的 JDBC 安全弹出窗口

我在 Glassfish 3.1.2.2 上使用 JDBC 领域身份验证运行 JSF 应用程序。

我想知道是否无论如何我可以禁用每当有人尝试访问受限页面但未登录时出现的登录弹出窗口,而是引发错误 401(自动重定向到我页面的登录页面)以保持 UX 的一致性。