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

spring-security - Spring Security - 如果外部身份验证失败/不存在,则有条件地使用表单登录

我需要的设置是一个(启用了弹簧安全性的)webapp,它既可以进行预身份验证(使用 pubcookie),也可以启用“开发”模式,这样我就可以忽略 pubcookie 并显示登录表单。自然,开发模式将在生产中关闭,应用程序将位于运行 mod_pubcookie 的 Apache 后面,但对于开发/质量检查,我真的不需要外部身份验证机制。

仅当 (1) 没有 REMOTE_USER 请求标头(意味着我们没有通过 pubcookie)时,才会出现登录表单;AND (2) dev-mode 在属性文件中打开。

我的问题:这可以在 spring security XML 文件中配置,还是我需要将它纳入代码?(我该怎么做?)

谢谢,

D.

0 投票
2 回答
6629 浏览

spring-security - WebSphere 上的 Spring Security PreAuthentication Filter 示例?

有没有人有用于 WebSphere 工作的 Spring Security 示例 PreAuthentication Filter (WebSpherePreAuthenticatedProcessingFilter)?关于它的文档很少,我似乎无法确定它。我正在寻找可以正常工作并且可能愿意提供您的配置示例的人。非常适合 Spring 3.1 和 WAS 7 或 8。

我有一个配置,看起来它“有点”工作。我可以使用 WebSphere 进行身份验证,然后在我的应用程序中点击一个 URL,但浏览器会返回此消息:

错误 500:java.lang.RuntimeException:为用户查找组时发生异常

我得到一个像这样的异常堆栈跟踪:

我的 web.xml 文件如下:

我的 Spring 安全上下文 XML 文件如下:

0 投票
3 回答
4279 浏览

java - @PreAuthorize 无法正常工作

我的控制器:

弹簧安全.xml

页面总是被加载,即使在重新部署应用程序之后也是如此。我什至没有登录。为什么它不将其重定向到登录页面?

如果您需要更多信息,请随时询问。

0 投票
2 回答
361 浏览

authentication - 一个 HttpSession 中的多个 SecurityContexts

我一直在研究使用弹簧安全的应用程序。我对 spring security 很陌生,最终遇到了类似于thisthis的问题。但它有点不同。

我以这种方式进行手动身份验证:

当页面加载时,一切似乎都正常。但是,当我在应用程序中导航时,似乎我失去了我的 SecurityContext。(如果用户登录,我有显示用户名的状态栏)

我这样得到我的上下文:

更重要的是,在某些不正确的加载之后,有时它会正确加载上下文并不会完全丢失。似乎我在一个会话中有多个上下文(我有 HttpSessionListener 和 sessionCreated 只触发一次)。我尝试打印出上下文的对象哈希,并注意到有几个不同的哈希重复。只有一个与我的连接用户有关,其他则不是。

所以我假设一个会话中有几个上下文(如果这可能的话)。我希望我清楚地解释了一切。如果有人可以为我提供一些帮助,我将不胜感激。

0 投票
1 回答
1315 浏览

annotations - 在spring security 3中,如何自定义我的@PreAuthorize注解?

这些天我遇到一个问题,我无法弄清楚,所以请帮助我......

我的实体: Utilisateur 这是一个法语单词,意思是用户

和一个Role实体。

在我的网络应用程序中,有一个控制器可以显示例如有关学生的信息(Etudiant法语)

CustomUseDetailService我直接使用实体实现了我自己的Utilisateur

我的security.xml如下:

最后我的问题是:对于一个学生,他的id是1,他的用户名是stu1,要控制这个id为1的学生只能访问他自己的页面信息 /ProjetName/Student/{studentId}/Info 我该如何编写代码@PreAuthorize,我已经看到了spring表单中的文档,有这样的例子@PreAuthorize(#contract.name = principal.username),因为principal中有一个属性username,但是在这里,我需要的是Id,我@RequestMapping(value = "/Etudiant/{idEtudiant}/info")用来匹配学生而不是用户名。那么我该如何解决呢?非常感谢...我找不到教程。

0 投票
1 回答
248 浏览

iphone - 如何在 iPhone 应用程序中集成 paypal preauth?

我可以使用名称值隐藏变量 payment-action=authorization 在我的网站上集成 pay-pal 预授权功能支付表单。如何为我的 iPhone 应用程序实现此 pay-pal 预授权功能?i-OS 中支付操作的变量是什么?

0 投票
0 回答
740 浏览

spring - 预认证问题

大家好,我的项目中有一个大问题。

我已将我的项目配置为使用 Java EE Security for Authentication 和 Spring Security 使用 spring Pre Authentication 进行授权。

在 Java EE 登录后,应用程序进入我设置授权权限的预认证过滤器类。但是在那之后没有导航到我的主页,应用程序会触发我通过 Java EE 容器安全性再次登录。如果我第二次登录,它会导航到应用程序的主页。我想摆脱第二次登录。

我正在为 UI 使用 vaadin。以下是我的课程

0 投票
1 回答
4518 浏览

spring - 具有多个自定义过滤器和角色的 Spring 安全性

我正在使用带有两个过滤器的 Spring 安全性: - 一个用于客户端证书的 x.509 身份验证的过滤器。他的过滤器所做的只是将用户名从证书中提取到原则中。- 一个过滤器进行基于标头的身份验证。标头应该有用户名和角色。在这个过滤器中,我检查以确保安全上下文中已经存在一个主体。如果存在,我确保它与标题中的内容匹配。然后我从标题中提取角色并设置授予的权限。我有一个 url 模式,我希望角色可以访问 - 'ROLE_USER'

现在问题来了。该请求仅命中第一个过滤器(X.509),此标头中明显缺少角色,并且访问被弹簧安全拒绝。

我无法切换过滤器的顺序,因为如果我这样做了,那么 spring 提供的 X.509 过滤器只会看到主体已经存在并且什么都不做,使其无用。

有没有办法将角色检查推迟到处理完所有过滤器?或任何其他方式来实现我想要做的事情。

这是我的弹簧安全配置:

其中 x509Filter 是标准弹簧安全过滤器,配置为:

如果需要,我可以提供经过清理的 customHeaderFilter,但此时控件永远不会到达过滤器,因此对于其中发生的事情无关紧要。

任何帮助/指导将不胜感激。

0 投票
1 回答
6080 浏览

spring - @PreAuthorize 与 hasPermission() 执行代码两次

我想使用 @PreAuthorize Spring 注释来控制我的应用程序中的访问。

问题是,我有很多条件不是取决于请求参数,而是取决于数据库实体。

概述:

我有一个Route实体,它有User owner字段。Route仅当您是所有者时才能删除。

我写了我的控制器方法:

我的RouteRemove权限定义为:

如您所见,我必须评估routeBO.getById()两次。

问题:

是否可以只评估此代码一次?

我当然试过:

但之前没有调用权限方法removeRoute(Route id, ModelMap model)。也许我的配置不正确?

mvc-调度程序-servlet.xml

安全.xml

0 投票
1 回答
693 浏览

gwt - Spring Security X.509 Preauth

我正在使用带有 X.509 证书的 Spring Security 2.x 的 Preauthentication。

我得到了certificateTextvia HttpServletRequest.getAttribute("CERTIFICATE")

有时,上述调用返回""(空)。我相信它发生在 HTTP 会话过期时。

什么可以解释为什么HttpServletRequest.getAttribute("CERT")返回空?

编辑例如,在 Kerberos 中,票证在每个 HTTP 请求中都可用。证书不总是在 X.509 HTTP 请求中吗?