我们有一些休息式的web服务,它们一直使用HTTP基本身份验证来验证客户端。我们正在使用Jasig CAS单点登录服务部署单点登录。CAS使用的SSO握手要求通过302重定向将未经身份验证的客户端重定向到CAS登录。
不幸的是,HTTP需要对未经身份验证的请求进行401响应,因此我们有一个冲突,其中Basic需要401响应,CAS需要302响应。是否有办法与CAS解决这一问题,并仍然支持基本的auth?
发布于 2015-09-25 13:57:53
使用无状态REST服务的正确方法是使用CAS的代理身份验证。REST服务在请求中查找票证查询参数,并将其验证为代理票证。由于REST服务通常没有会话,所以通常必须实现一种存储机制来接受多个请求的相同代理票证,而无需多次使用CAS进行验证(如果您尝试验证不止一次,那么您很可能会被CAS拒绝,这取决于您在CAS中配置的每个票证的验证次数)。如果缺少票证查询参数,我们将返回一个401 Missing Auth响应,而不会返回302个重定向。该方法可以与基本身份验证共存。
https://stackoverflow.com/questions/31075656
复制相似问题