rest - 使用 CAS 保护 Spring boot Rest 服务

标签 rest spring-security spring-boot cas

friend ,

最近我使用 spring-boot 创建了一个 web 服务应用程序,现在它几乎没有不安全的入口点。 (这是一个纯基于休息的应用程序,只有休息入口点,没有任何 UI 组件)。

现在我想在此应用程序中添加 CAS 客户端以保护其余入口点。

我的 CAS 服务器已准备就绪并且已启动并正在运行。我还在我的 cas 服务器中配置了 CAS Rest 协议(protocol)以通过 rest 调用访问 TGT/ST,并且我计划只使用 rest 调用而不是使用登录页面。

因此,当用户尝试访问我的 rest 应用程序时,我将在内部调用 CAS rest 入口点(通过使用 restTemplate)来验证用户凭据并生成 TGT 和 ST。

可用的 CAS 入口点是(来自 jasig 引用文档),

  1. POST/cas/v1/tickets HTTP/1.0 username=battags&password=password&additionalParam1=paramvalue
  2. POST/cas/v1/tickets/{TGT id} HTTP/1.0 service={服务 url 的表单编码参数}
  3. 删除/cas/v1/tickets/TGT-fdsjfsdfjkalfewrihfdhfaie HTTP/1.0

我想,我对这部分不太清楚。如果我错了,请纠正我。

现在我的问题是,我应该怎么做才能在我的 spring boot 应用程序中添加 ST 票证验证器?我是否需要使用 spring-security 添加任何过滤器?或者我是否需要调用任何其他 rest api 来验证 ST?请指导我进一步进行。

最佳答案

您可以使用现有的Spring boot cas starter:

这将为您配置并神奇地您的 spring boot 应用程序使用 CAS 身份验证(因此您的应用程序将能够读取 STPT 毫不费力)。

我是 cas security spring boot starter 的作者,所以我不会影响您的选择,但与该项目的主要区别是 cas client autoconfig support Unicon 开发的是关于 Spring security 集成。

确实cas security spring boot starter完全符合 spring security,因此您将能够使用您从 spring security 了解的任何功能。鉴于 cas client autoconfig support将实例化和配置 Apereo (Jasig) 过滤器,它不是为 Spring security 开箱即用而设计的。

关于rest - 使用 CAS 保护 Spring boot Rest 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34954892/

相关文章:

asp.net - IIS 7 的最大默认 POST 请求大小 - 如何增加 64kB/65kB 限制?

spring - 在构建微服务时如何获取与 Spring OAuth 中的访问 token 关联的范围?

spring - Bootstrap 不适用于 spring-boot?

json - 如何通过 Swift 和 Rest API 之间的连接获取和发布 JSON?

Web API 中实体的 RESTful 归档

java - Spring-WS SecurityInterceptor操作级别

spring - session 关闭时使用 Spring WebSocketConnectionManager 的正确方法是什么

spring - Spring Boot 中不存在所需的请求部分 'file'

ios - 如何使用 Alamofire 发送字节?

java - 是否可以仅通过重定向允许访问页面?