WebServices SSO jasig CAS

3

我尝试使用jasig CAS实现与Web服务的单点登录(SSO)。

我已经使用Spring过滤器对Web应用程序进行了安全性设置,但是我不知道如何在服务器端对Web服务进行安全性设置。

1个回答

2
我们通过结合使用rest客户端(https://wiki.jasig.org/display/CASUM/RESTful+API)和CasLoginModule (https://wiki.jasig.org/display/CASC/CASLoginModule+for+JAAS+applications)以及JAAS (https://wiki.jasig.org/display/CASUM/JAAS)来实现这一功能。其工作原理如下图所示:

enter image description here

客户端向您的Web服务发送用户名和密码进行身份验证,并将其与CAS服务器进行验证和验证。之后,CASLoginModule缓存了生成的服务票据,这样未来提供服务票据的请求就不需要再次联系CAS。
这与CAS的“正常”用法相差甚远,因为它实际上使服务票据成为长时间存在的项。通常ST应该持续足够长时间,以便结果服务可以验证客户端。在我的情况下,我认为这并不太重要,因为我们所有的通信都在防火墙后面的服务器端进行,但对您而言可能会有所不同。

在我的情况下,客户端是从已经登录的Web应用程序中调用的。Cas创建了一个票证。是否可以将票证传递到服务器Web服务并进行验证? - Wojciech
是的,为此我们构建了自己的安全 cookie(需要https),并将其传递回Web应用程序客户端,让他们在下一次请求中传递回来。 CasLoginModule将缓存服务票证,因此验证将成功。 还可以在票证注册表中扩展服务票证的验证期限-请参见此处:https://wiki.jasig.org/display/CASUM/Ticket+Expiration+Policy - bwobbones
能否在SOAP中的SAML断言头中传递它? - Wojciech
不确定 - 这听起来像是一个不同的问题...也许加上 #SAML 标签再问一下? - bwobbones

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接