问题标签 [j-security-check]

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 投票
2 回答
1660 浏览

tomcat - 使用 md5 和 salt 和 j 安全检查

现在我正在使用 j 安全检查和 md5 来验证我的 jsp 页面。我想在将密码存储到数据库之前对其进行加盐。由于在学校限制访问,我无权创建一个触发器来注入一些盐。有没有其他方法可以做到这一点?

这是我的领域:

0 投票
1 回答
4303 浏览

authentication - Websphere 预登录到 j_security_check

我正在使用带有 j_security_check 的 Websphere,并且我有一个带有机密和 SSL 设置的有效登录过滤器。由于一些复杂的要求,我需要在执行 j_security_check 之前处理 j_username 变量。

此处找到的答案之一,据说无法进行此登录前处理。但是,我注意到之前的提问者使用的是 Tomcat,而我使用的是 Websphere。我发现这里有解决我的问题的方法但似乎每次我尝试登录时,都会收到“网站无法显示页面。网站出现编程错误”。

我尝试通过检查语法是否正确来进行故障排除。发现了一些不一致的地方,并尽我所能纠正它们。但是,我仍然不断收到同样的错误。

有人能把我扔到正确的方向吗?我可以提供更多信息,但它们大多类似于第二个链接。唯一受保护的文件夹位于 \protected\ 中,而 .java servlet 位于 \WEB-INF\classes 中。

谢谢你。

0 投票
1 回答
1351 浏览

jakarta-ee - j_security_check 身份验证后可以跟另一个 Web 身份验证机制吗?

在我的网络应用程序中,我使用基于表单的登录。我有一个场景,除了 login-config.xml 中设置的表的数据之外,我还必须验证存在于不同数据库中的用户。

所以,我在想这个流程:

用户尝试访问安全资源 -> 如果没有活动会话,将被重定向到登录表单 -> 用户输入他的凭据 -> j_security_check 根据 login-config.xml 进行身份验证 -> 如果身份验证成功,很好,否则重定向到一个jsp错误页面,我在其中检查用户是否存在于另一个数据库中(具体的活动目录。我已经有验证凭据的代码)并在成功时创建一个会话->否则重定向到错误页面

上面以粗体突出显示的部分是否可能?

我在一些文章中读到,一旦对 j_security_check 进行了身份验证,就无法超越它。是真的吗???

这个问题还有其他可能的解决方案吗(除了将其他数据库中的用户添加到login-config.xml中指定的表或修改login-config.xml)?

(我正在使用 Jboss)

谢谢。

0 投票
1 回答
3588 浏览

jsf - JSF 身份验证:无法拦截错误消息

我开发了一个简单的登录表单,用于我的 JSF + PrimeFaces 页面:

尝试使用空密码,但组件未捕获缺少的密码(这是必需的)h:message。我也转而p:commandButton认为问题可能出在按钮的 Ajax 行为中,但由于 PrimeFaces 抱怨 CommandButton 不在表单元素内,因此未呈现页面。容器抛出的异常是:

总结一下,我有两个问题:

  1. 为什么在提交表单之前丢失的密码不会产生消息?
  2. 如何捕获 LoginException 并在对话框中显示错误消息?
0 投票
2 回答
970 浏览

jakarta-ee - 将 j_security_check 从 JBOSS 移植到 Websphere

我正在使用j_security_check我的 struts web 项目,并将它部署在 jboss 中。

在我web.xml定义的角色中testuser,创建了一个 jar 文件,其中包含users.propertiesjar名称roles.properties作为应用程序的名称。TestUserInfo.jarTest

我的web.xml

users.properties文件具有username=password名称值对,roles.properties并将username=role(在我的情况下user=testuser)作为名称值对。

users.properties当应用程序部署在 JBoss中时,我可以使用文件中的用户名和密码登录。TestUserInfo.jar保存在jboss-5.1.0.GA\jboss-5.1.0.GA\server\default\lib.

我必须在 websphere 中做什么才能实现相同的功能?

0 投票
1 回答
7465 浏览

jsf - j_security_check 没有重定向到欢迎页面 - 成功的登录事件监听器?

多年来,我一直很困惑为什么在登录后有时我没有定向到应用程序欢迎页面。我终于想通了(比其他人晚了几年):

  • 我通过 j_security_check 成功登录并进入欢迎页面

  • 等待会话超时

  • 单击发送 GET 请求的 h:link

  • 因为它是 GET 而不是 POST 我的自定义 ViewExpiredException
    处理程序不会启动


  • 由于会话超时,容器安全性重定向到登录页面。由于会话超时+容器安全性,应用程序在阶段侦听器或过滤器中看不到获取请求(来自 h:link)。

  • 我再次成功登录

  • j_security_check 将我重定向到触发
    身份验证的页面,在这种情况下是 GET 请求的目标。

最后一点我不明白,我认为它总是会进入欢迎页面。

我的问题是我目前的设计要求登录后我总是显示欢迎页面。欢迎页面有一个 preRenderView 事件,它在登录后在会话范围的 bean 中设置一些上下文信息并增加一些计数器等......

支持其他页面的 bean 代码需要此上下文信息,目前如果我不先浏览欢迎页面,则会出现异常。

在修复它方面,我查看了以下选项:

  1. 理想情况下,会有一个可以调用的@PostLogin 方法,它可以彻底解决我的所有问题。我将 JSF (Mojarra) 与 Myfaces CODI 一起使用,但我没有看到任何我想要的东西。

  2. 我可以向我的过滤器添加更多代码,但我需要保留一些数据(即登录计数),这看起来不是一个不错的选择。也许我错了。

  3. 我让 j_security_check 的潜在目标(使用 GET 调用的页面)的所有 preRenderView 方法处理直接从 j_seecurity_check 调用它们的情况。我可以看到这是我必须做的,但这似乎很麻烦。

  4. 为 glassfish 编写一个服务器身份验证模块以覆盖 j_security_check 行为。

这通常是如何处理的?经过多年滥用 POST 后,我开始使用 GET 处理简单的导航案例,并且自定义异常处理程序不起作用。如果有人对此问题有任何指导,我将不胜感激,至少我知道现在发生了什么。希望我错过了一些明显的东西!

感谢操作系统

0 投票
1 回答
6376 浏览

weblogic - 从哪里开始使用 Weblogic 和 j_security_check?

我对 Weblogic 和 j_security_check 完全陌生。在过去几天的阅读中,我看到的只是服务器上受呼叫保护的数据的操作顺序以及它如何路由到 j_security_check。(例如j_security_check 重定向

我想了解的是配置在哪里告诉服务器检查用户名和密码的内容?

当一个表单被提交到传递用户名/密码的服务器时,会执行什么代码?我可以查看源代码吗?它如何知道它将在哪里检查值?

我在一个项目中,没有人知道如何使用 Weblogic,因为所有以前的开发人员都跳槽了。

web.xml 和 weblogic.xml 文件中没有任何内容来说明任何到数据库的映射是如何存在的。系统如何知道要检查用户名和密码字段的数据库,甚至是数据库中的哪一列?

在浏览 Weblogic 门户时,我可以看到“DefaultAuthenticator、DefaultIdentityAsserter 和 OpenLDAPAuthenitcator”,但是在任何子级别页面中都没有任何内容可以显示如何处理和验证任何字段。

我应该寻找什么,我是否在错误的地方寻找,应该花费什么时间线来了解整个 Weblogic 和 j_security_check 过程发生了什么?

任何关于如何继续这个主题的建议都将受到欢迎。

0 投票
1 回答
912 浏览

mod-rewrite - Glassfish 3.1.2 - 创建集群和部署应用程序 j_security_check 循环之后

我终于将我的应用程序部署到了 apache/mod_jk 负载平衡前面的 2 实例单节点测试集群。

在非集群环境中,我多年来一直使用 JDBCRealm 的容器安全性,并且它工作可靠。

在集群环境中,我在浏览器中获取登录页面,输入有效的用户名和密码,单击提交按钮,j_security_check 将响应头中的位置页面设置为登录页面,而不是欢迎文件。它转发到我们刚刚访问的登录页面。

我启用了 MySQL 常规查询日志,可以看到正在从正确的表中为正确的用户读取密码和组名。

我尝试设置 javax.enterprise.system.core.security.level=FINEST 但服务器日志中仍然没有输出。

使用部署到本地服务器而不是集群的相同应用程序,我可以访问 localhost:8080/ 并登录正常。如果我只是输入“localhost”并通过负载平衡器,它将无法工作。

我知道 j_security_check 可以转发到触发身份验证的页面(这可能是这里发生的事情),但是当没有“触发身份验证的页面”时,它何时转发到欢迎文件?编辑:我现在看到,它总是 302 重定向到引用者,在这种情况下是上下文根。容器必须有一些规则来确定实际显示哪个页面。在我的集群示例中,它不是来自 web.xml 的欢迎文件。

我还在集群配置中设置了我的身份验证领域:

我能想到的两个环境之间的唯一区别是,在集群设置中,我有一个从 http -> https (httpd.conf) 转发的 mod_rewrite 规则:

编辑:在 chrome 开发工具网络跟踪下方添加

部署为 /MyApp 的工作场景:

部署为 root / 的不工作场景(集群):

如果我输入了无效的登录凭据,那么在这两种情况下,我都会成功重定向到表单错误页面。

有人有什么建议吗?我只是没看到。谢谢。

ps 我确实尝试过清理浏览器缓存,没有帮助!

更新:问题在于,在 clustered/mod_jk 环境中,来自 j_security_check 的回发具有带有新 sessionid 的 Set-Cookie,因此下一个请求来自不同的会话。似乎这与粘性会话有关,但是我仍然不知道如何解决它。我尝试将负载均衡器sticky_sessions 设置为true 和false,但都没有帮助。

jvmRoute 为工作人员的两个实例设置。

0 投票
1 回答
1240 浏览

apache - 如果用户已经登录,则 j_security_check 不可用

Apache tomcat 版本:6.0.20

如果用户已经登录,并且他尝试从登录页面再次登录,则会遇到 j_security_check is not available 错误。这是正常行为还是我必须做些什么?

实际上,我有不同的用户角色来访问不同的页面,当特定用户拒绝访问页面时,我想将他重定向到登录页面,他可以在其中使用相应的凭据登录。

0 投票
2 回答
4098 浏览

spring - j_username cannot be accessed using spring_security_check

I created a login page using spring_security_check.
Here:

But I can not have access to j_username afterward.

I've tried:

* request.getParameter("j_username")
* request.getAttribute("j_username")
* request.getAttribute("j_username")
* request.getUserPrincipal().getName()
* request.getRemoteUser()

From all of them, all I'm getting is null!

Any idea what to do?