问题标签 [spring-security-cas]

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

grails - (Grails 插件) Spring Security Single Signout

我试图了解 Spring Security 如何处理单点注销。我正在使用具有多个 Grails 应用程序的 CAS 服务器。这是我的场景:

应用 #1 和登录

  1. 用户导航到 Grails 应用程序 #1。
  2. 应用 #1 没有用户的身份验证数据,并检查 CAS 服务器。CAS 服务器没有用户的 cookie 数据,因此 CAS 提示用户登录。
  3. 用户登录 CAS 并获得有效票证。用户从第 1 步被重定向回应用程序 #1 URL。
  4. 在身份验证后的第一个请求中,应用程序 #1 将 CAS 票证加载到其 SecurityContextHolder 中。后续请求使用票证数据来验证用户是否已通过身份验证。

应用 #2 和注销

  1. 用户导航到 Grails 应用程序 #2。
  2. 应用 #2 没有用户的身份验证数据,并检查 CAS 服务器。CAS 服务器拥有用户的 cookie 数据,并使用该数据对用户进行身份验证。
  3. 在身份验证后的第一个请求中,应用 #2 将 CAS 票证加载到其 SecurityContextHolder 中。后续请求使用票证数据来验证用户是否已通过身份验证。

登出

  1. 用户通过点击应用#2 的注销页面来注销应用#2。应用 #2 不再将用户数据存储在 SecurityContextHolder 中。
  2. 用户被重定向到 CAS 服务器注销页面。CAS 不再为用户提供有效票证。
  3. 对应用 #2 的后续(受保护)请求会将用户重定向到 CAS 登录页面。
  4. 因为应用 #1 在其 SecurityContextHolder 中仍然有 CAS 票证数据,所以对应用 #1 的后续(受保护)请求不会将用户重定向到登录。上下文必须以某种方式清除或过期。

我应该如何阻止用户访问 app #1 中受保护的 URL?我可以为 SecurityContextHolder 设置到期日期吗?

0 投票
0 回答
387 浏览

spring-security - Spring Security、Spring MVC、PreAuthorise注解和异常处理

我正在为 Spring Security 和异常处理而苦苦挣扎。

我在我的 servlet 上下文中配置了以下异常处理程序:

这会捕获任何未捕获的异常,并显示一般错误页面。

我还使用服务器上的 CAS 单点登录配置了 Spring Security。如果在我的安全配置中,我有以下内容:

如果未经身份验证的用户访问“/secure”,他们会被正确重定向到登录,然后他们返回并可以查看该页面。

我更喜欢PreAuthorise()在 MVC 方法上使用注释,而不是手动定义 URL。因此,如果我有以下注释:

不会发生到 CAS SSO 服务器的重定向,Spring 只是显示一般错误页面,并带有异常org.springframework.security.access.AccessDeniedException: Access is denied

为什么定义访问权限的两种方式之间存在差异,以及如何使用PreAuthorise带有 Spring 的注释正确引导未经身份验证的用户登录,并且仍然有一个异常处理程序来捕获其他异常?

0 投票
0 回答
2082 浏览

java - 如何使用 Java 配置配置 Spring Security CAS 支持?

我正在尝试使用 Spring Security 为我的 Web 应用程序设置 CAS 身份验证。我遵循文档并设法将 XML 配置示例转换为 Java 配置。但是,我不确定我所做的一切是否正确,并且考虑到安全性的敏感性,我希望有人确认没有错误。

例如,我如何确定不再有默认配置(例如对 URL 的自由权限、不同的身份验证管理器和/或提供程序等......)?

我检索当前 AuthenticationManager 的方式是否正确?

是否像我以正确的方式配置入口点?

我发现理解如何使用 WebSecurityConfigurerAdapter 相当令人困惑......

这是我的@Cofiguration 课程:

0 投票
1 回答
620 浏览

java - 从未调用并发会话控制类

这是使用 Spring Security 4.0 RELEASE 和 Spring Security CAS。

我正在使用 Java Config 设置会话并发管理:

HttpSessionEventublisher在 a 中启用,WebApplicationInitializer我可以确认它正在工作,因为我正在将它用于其他正在工作的东西:

但是在运行时,看起来代码从未被调用过。

请注意,我使用的是 Spring Security CA。这会影响会话并发管理吗?

0 投票
1 回答
317 浏览

spring - 带有 CAS 重定向循环的 Spring Security

过去几天,在将 CAS SSO 集成到我的一个 Web 应用程序时,我一直在重定向循环中磕磕绊绊。多亏了 CAS,这发生在我登录后

我一直在监视 CAS 和我的网络应用程序之间正在交换的请求,它们似乎正在工作。

我怀疑问题可能来自用户权限/令牌的错误实施。

这是我的文件:

我的 AuthenticationUserDetailsS​​ervice 类:

任何想法我做错了什么?

谢谢 !

0 投票
1 回答
410 浏览

java - HttpServletRequest.getRequestURL() 是可欺骗的吗?

我希望这个问题是不言自明的。我正在使用 CAS 服务器设置 Spring Security 环境。因为完全相同的应用程序部署在同一台服务器上,但是可以通过不同的主机名(.de 域、.com 域,可能不止这些)访问服务器,我们希望在测试系统和本地系统上部署相同的应用程序同样,我构建了一个动态服务,其中服务 URL 是从请求 URL 派生的。

有可能欺骗这个吗?如果是,额外的正则表达式检查是否为我提供了必要的安全性?

0 投票
1 回答
379 浏览

java - 在公共 (permitAll()) 页面上自动确定 CAS 用户

我将 Spring Security 与 Spring Boot 一起使用,并通过 JASIG CAS 对我的用户进行身份验证。一些页面需要明确的身份验证 (.authenticated()),其中一些页面适用于所有用户。

现在菜单中有一个特定区域,指示当前用户和可能的操作,例如登录/注销。

我现在的主要问题是主页是公共的(permitAll()),如果用户已经通过其他应用程序进行了 CAS 会话,他将显示为“anonymousUser”,直到手动单击登录或打开受保护的页面.

有人对如何使其工作有任何想法吗?

我的安全配置:

}

0 投票
1 回答
1101 浏览

spring - 如何使 CAS 服务器中的用户无效

我为 SSO 实现了 CAS 服务器 4.0。我有 3 个应用程序(具有 Spring CAS 安全性的 Spring Web MVC)连接到 CAS 服务器。我将 CAS 服务器配置为通过 JPA 管理票证并通过用户名检查 CAS 中的身份验证。目前我正在为我的应用程序创建忘记密码功能,我现在的问题是如何在密码重置后使 CAS 服务器上的用户 cookie/会话无效(或注销它们)(注意他们可以由用户登录并执行忘记另一个用户的密码)。我们可以用 CAS 来做吗?任何帮助将不胜感激。感谢你们。

0 投票
1 回答
2826 浏览

spring - Spring 4.2 的原生全局 CORS 支持不适用于 CAS filterProcessesUrl

在我升级到 spring-boot 1.3 后,我试图切换到 spring 4.2 的原生 Global CORS 支持,但它似乎不适用于 CAS 过滤器进程 url(/login/cas)。

最初,我使用 spring-boot 1.2.7 和 spring 4.2 和 spring-security 4.0.2,并使用自制的基于过滤的 cors 支持。我自己的休息服务或 CAS ST 验证 URL 运行良好。在我升级到 spring-boot 1.3 并带有 spring 和 spring-security 版本之后。它停止工作。经过一番挖掘,通过AddFilterBefore修复了这个问题。因此,基于过滤的 CORS 似乎也适用于 spring-boot 1.3.0 + spring-security-cas。

但是,我想使用本机全局 CORS,但似乎无法识别 CAS ST 验证 URL(/login/cas),尽管其他其余端点都可以。

请帮忙。

设置非常简单。

以下是一些流量:

以下是控制台错误:

0 投票
1 回答
4052 浏览

spring-security - jasig cas 太多重定向问题

我正在尝试使用 spring security 和 spring-security-cas(带有 Jasig CAS 的 SSO)来保护 spring-boot Web 应用程序。

尝试访问受保护的资源时,我面临太多重定向错误。该项目可在此处获得

您在我的配置中看到任何错误吗?

提前致谢

重定向循环错误截图