问题标签 [pre-authentication]

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 回答
7792 浏览

spring-security - Spring Security中的多个预授权过滤器?

我需要有多个PRE_AUTHSpring Security 过滤器。特别是,除了在 Spring Security 3.0 的 SAML 扩展中PRE_AUTH配置的两个过滤器之外,我还需要使用一个过滤器。PRE_AUTH现有的 SAML 配置如下。

额外的PRE_AUTH过滤器需要在任何一个现有过滤器之前进行检查(即:不应给予使用此身份验证方法进行身份验证的用户使用 SAML 的机会。

我考虑用以下方式改变它。

这会起作用,还是需要更复杂的解决方案。

0 投票
2 回答
1473 浏览

asp.net-mvc - 如何在 ASP.NET MVC 3 Intranet 应用程序中重新验证用户身份?

该应用程序已经在使用 Windows 集成安全性,而不是 Forms。我正在尝试完成的是所谓的“升级”身份验证,或以下场景的“强制重新身份验证”:

  1. 用户正在浏览网站做一些常见的、琐碎的事情
  2. 突然,用户必须执行敏感操作,例如授权资源分配或确认汽车贷款或类似的事情
  3. 在用户被重定向到敏感页面之前,系统会提示用户输入凭据,其方式类似于 SharePoint 的“以其他用户身份登录”
  4. 当且仅当输入的凭据与当前登录用户的凭据相同时,应用程序才会进入敏感区域。

这将防止以下两个问题:

  1. 用户去开会或喝咖啡,忘记锁定工作站,同事使用会话访问敏感区域
  2. 用户输入他或她的老板的凭据(因为,假设他偷看老板的肩膀)以访问敏感区域。

我知道,有些人会认为这是“偏执狂”,但也有些人会说这是常识,应该在某个框架(jQuery 或 .NET)中构建

0 投票
1 回答
955 浏览

spring-mvc - Spring MVC 2.5 - 使用自定义预身份验证过滤器记住我

我正在开发一个使用 Spring Security 2.0.4 的遗留应用程序。我创建了一个自定义 AbstractPreAuthenticatedProcessingFilter 和 PreAuthenticatedAuthenticationProvider。他们根据来自客户登录服务器的请求中作为参数发送的电子邮件地址来创建和验证用户。(我知道不是很安全,但这就是要求)

这一切都很好,但我的问题是,一旦用户通过身份验证,我需要创建一个自定义 cookie,这样他们就可以在当前会话之外访问应用程序,而不必被登录服务器重定向。

我无法访问 AbstractPreAuthenticatedProcessingFilter 或 PreAuthenticatedAuthenticationProvider 中的 HttpServletRepsonse 对象,因此我不能只在响应中设置 cookie。我可以将 RememberMeServices 实现到 AbstractPreAuthenticatedProcessingFilter 类中,但我不确定这是否是正确的方法。

谁能指出我正确的方向?我是否需要创建自定义记住我功能?一旦用户通过身份验证,我要做的就是设置一个 cookie(如果不存在的话)。然后对于未来的请求,我可以验证 AbstractPreAuthenticatedProcessingFilter 中的 cookie 并返回经过身份验证的主体。

0 投票
1 回答
17219 浏览

java - Spring security PreAuthentication Filter 要求 AuthenticationEntryPoint

我正在尝试将 PreAuthFilter(用于 Siteminder)与 Spring Security 3.0 一起使用。

上面的配置失败了

1)我如何指定一个AuthenticationEntryPoint???

2) 它真的适用于 PreAuthentication 场景吗???

解决方案

根据以下axtavt的解决方案

使用 Http403ForbiddenEntryPoint 创建一个 bean

并在 <http> 中引用它

0 投票
1 回答
2133 浏览

grails - 如何在 Grails/Spring Security 插件中禁用 /login/auth

我正在尝试使用 Spring Security Plugin 在 Grails 中设置一个系统,该插件仅允许通过 Pre-Authentication 机制进行身份验证。

我想要发生的是,如果用户在未经身份验证的情况下尝试访问任何 URL,它应该将他们带到拒绝访问页面。

我现在得到的是 Grails 正试图将它们转发到 /login/auth (然后 Firefox 说重定向永远不会完成)。但问题是,由于我只是一个 Pre-Auth 系统,所以没有登录页面。

这是我的 Config.groovy:

关于如何让它停止这样做的任何想法?我也从 LoginController.groovy 中删除了 index 和 auth 方法,因为它们不应该被需要。

0 投票
2 回答
4387 浏览

spring-security - Spring Security Preauth“过滤器=无”不起作用

奇怪的一个,

我正在使用带有 siteminder 的 spring security,它工作正常。但是我想要一个不受保护的 url - 我们的 loadBalancer 需要在应用程序本身内有一个“healthCheck” url。这个 url 没有被 siteminder 拦截,但是 spring security 似乎无论如何都对其应用了 preauth ..

如果我使用简单的基于表单的安全配置在本地运行它,则以下工作(不包括过滤器):

在这种情况下,我可以浏览到 localhost/myApp/resources/html/healthCheck.html 而不会遇到授权问题,但任何其他 url 都会显示登录表单。到目前为止一切都很好!

但是,当我部署到服务器时,我使用以下配置:

当我浏览到: server/myapp/resources/html/healthCheck.html 我收到以下错误:

我认为这是由于 UserDetailsS​​ervice 在没有任何 SM_USER 的情况下被实例化引起的。然而 filters=none 已经到位..并且在使用表单身份验证时工作..知道是什么可能导致这种情况,或者更好的解决方法吗?

顺便说一下,我的 userdetails 服务配置如下:

即我已将 exceptionIfHeaderMissing 设置为 false,如果这有帮助..

0 投票
1 回答
9336 浏览

java - Spring Security 预认证

我被要求修改一个用 Java EE+Spring+Hibernate 构建的 Web 应用程序,以通过 Spring Security 提供安全性。

我以前没有使用过 Spring Security,我已经阅读了文档,但我没有看到使它工作的正确方法。

我们有一个登录页面,其中嵌入了另一个页面,该页面具有实际的登录表单,该表单调用另一个 Web 应用程序的登录操作,并使用登录结果调用我们应用程序的一个方法。(嵌入的登录页面是处理登录的“外部”Web 应用程序的一部分)。

我不明白我应该如何配置 Spring Security。我想这是一个预身份验证场景,但我不知道我应该如何让它工作。

这是我的 security-context.xml

还有我的 web.xml

0 投票
1 回答
10116 浏览

spring-security - 使用 Spring Security 的预认证/单点登录

我正在开发两个 Web 应用程序,一个是服务器应用程序,另一个是客户端应用程序,两者都使用 Spring Security。我的用例是,在用户登录服务器应用程序后,用户可以从服务器应用程序中的链接访问客户端应用程序。由于用户在单击这些链接时不必再次登录(我的要求的一部分),我决定使用类似于 Single SignOn 的策略,以便将他们的身份验证信息从服务器应用程序转发到客户端应用程序。

在客户端应用程序上,我使用 Spring SecurityRequestHeaderAuthenticationFilter来查找由服务器应用程序设置的自定义请求标头。

  1. 如果找到此自定义标头,我是否需要进一步验证此请求是否可信?在Spring 的 Pre-Authentication doc中, RequestHeaderAuthenticationFilter不执行任何身份验证,并将假定请求来自SM_USER属性中指定的用户。如何确保请求是真实的?

  2. 如何使用 http 请求中的自定义标头将用户从一个应用程序发送到另一个应用程序?重定向请求不起作用,因为标头信息将丢失。转发不起作用,因为转发的请求没有通过客户端应用程序上配置的 Spring Security 过滤器,因此请求永远不会“经过身份验证”并且不会创建会话。

0 投票
0 回答
338 浏览

iphone - 重新请求用户授予我的应用程序权限时遇到错误

在测试新的 Facebook API 与我的 iOS 应用程序的集成时,我从我的 Facebook 帐户的应用程序设置中删除了该应用程序,期望这会强制 Facebook.authorize() 重新请求用户授予我的应用程序的权限。我遇到错误:app_name 发生错误,请稍后再试。

脚步:

  1. 通过弹出对话框登录 Facebook。而且效果很好。

    [fbSession openWithBehavior:FBSessionLoginBehaviorForcingWebView completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { ...}];

  2. 我从 Facebook 帐户的应用设置中删除了该应用。

  3. 打开我的应用程序并再次登录 facebook,它遇到错误。在此处输入图像描述

  4. 如果我点击 Okay 按钮,它会直接进入我的 facebook 网站。而不是关闭弹出对话框。 在此处输入图像描述

0 投票
1 回答
1366 浏览

java - Java Kerberos 预认证错误

我们的网络中有两个不同的应用程序,它们都使用 Kerberos 对用户进行身份验证。其中一个在最大时会出现问题。票证有效期已过。

应用程序 x 的成功请求:

应用程序 y 的请求不成功:

我们可以在网络捕获中看到的唯一区别是 app x 使用 NT-PRINCIPAL,而 app y 使用 NT-ENTERPRISE。App y 在 Java 1.6 上运行,因此不应出现早期版本的 preauth 错误。

任何想法都受到高度赞赏。