友
最近我使用spring-boot创建了一个Web服务应用程序,现在它几乎没有安全的入口点。 (这是一个纯粹的基于休息的应用程序,只有休息入口点没有任何UI组件)。
现在我想在此应用程序中添加CAS客户端,以确保其余的入口点。
我的CAS服务器已准备就绪并启动并运行。我已经在我的cas服务器中配置了CAS Rest协议,通过休息呼叫访问TGT / ST,我正计划只使用其余的呼叫,而不是使用登录页面。
因此,当用户尝试访问我的休息应用程序时,我将在内部调用CAS休息入口点(通过使用restTemplate)来验证用户凭据并生成TGT和ST。
可用的CAS入口点是(来自jasig参考文档),
我想,我对此部分一点都不清楚。如果我错了,请纠正我。
现在我的查询是,如何在我的春季启动应用程序中添加ST票证验证器?我是否需要使用spring-security添加任何过滤器?或者我是否需要拨打任何其他休息api来验证ST?请指导我继续进行。
答案 0 :(得分:2)
您可以使用现有的 Spring boot cas starter :
这将使用CAS身份验证为您配置神奇地您的 spring boot 应用程序(因此您的应用程序将能够阅读ST
或{{1毫不费力)。
我是cas security spring boot starter的作者,因此我不会影响您的选择,但与该项目的主要区别以及 Unicon 开发的cas client autoconfig support是关于 Spring安全性集成。
确实cas security spring boot starter完全符合 spring security ,因此您可以使用 spring security 中的任何功能。而cas client autoconfig support将实例化并配置 Apereo(Jasig)过滤器,而这些过滤器并非旨在与 Spring security 一起开箱即用。
答案 1 :(得分:1)
除非您想通过网络服务拨打其他服务,否则您不需要服务票证。通过CAS REST API验证收到的凭证就足够了。
如果您正在寻找通过CAS REST API保护Web服务的安全库,您应该尝试:https://github.com/pac4j/spring-webmvc-pac4j,尤其是此配置:https://github.com/pac4j/spring-webmvc-pac4j-demo/blob/master/src/main/webapp/WEB-INF/demo-servlet.xml#L74