中央认证服务器架构和认证流程

时间:2012-03-09 09:07:21

标签: java cas

最近,当我使用CAS服务器时,出现了一个概念性的问题......据我所知,一旦验票成功,该票就会被删除......但为什么呢?在哪里检查用户角色?

Thanx

2 个答案:

答案 0 :(得分:0)

CAS服务票证是一次性使用以消除重播攻击的风险。如果您使用推荐的设置,您的客户端应该只通过HTTPS与CAS服务器通信,因此当从CAS服务器获取服务票证时,它将保密。然而,客户端可能会在未加密的信道(即HTTP)上将票证呈现给所需的服务。因此,假设它在首次使用后是秘密的,就不再安全了。此外,一个用途是验证客户端所需的全部内容,因此在此之后允许其他用途没有多大意义。这只是在寻找麻烦。

对于用户角色,这取决于您的应用程序。 CAS的目的是告诉你你正在处理谁(身份验证),并且它做得很好。在您的应用程序(授权)中允许特定用户执行的操作是一个不同的问题,而不是CAS要解决的问题。

答案 1 :(得分:0)

默认情况下,ServiceTicket(ST)只能在短时间内使用一次(它绑定到MultiTimeUseOrTimeoutExpirationPolicy)。这就像迈克在答案中所说,确保它没有被滥用。如果您真的需要通过更改ticketExpirationPolicy.xml文件another post上编写,则可以更改此预设置

但是,TicketGrantingTicket(TGT)仍处于活动状态,默认情况下仅绑定到TimeoutExpirationPolicy,并且不受请求数量的限制。从TGT,CAS可以根据需要创建尽可能多的ST。