32.3.1 Service Ticket Authentication服务票认证
本节介绍如何设置Spring Security来验证服务票证。通常这是一个网络应用程序所需要的。您需要将服务属性bean添加到您的应用程序上下文中。这代表您的CAS服务:
该服务必须等于将由CasAuthenticationFilter监控的网址。sendRenew默认为假,但如果您的应用程序特别敏感,则应该设置为真。该参数的作用是告诉CAS登录服务,单点登录是不可接受的。相反,用户需要重新输入用户名和密码才能访问该服务。
应该配置以下beans来开始CAS身份验证过程(假设您使用的是名称空间配置
要使CAS运行,异常转换筛选器ExceptionTranslationFilter
必须将其身份验证入口点authenticationEntryPoint
属性设置CasAuthenticationEntryPoint
bean。这可以很容易地用入口点引用来完成,就像上面的例子一样。CasAuthenticationEntryPoint必须引用服务属性ServiceProperties
bean(如上所述),它提供了企业的CAS登录服务器的网址。这是用户浏览器将被重定向的地方。
CasAuthenticationFilter具有与Username PassWordAuthenticationFilter(用于基于表单的登录)非常相似的属性。您可以使用这些属性来自定义身份验证成功和失败的行为。
接下来,您需要添加一个CasAuthenticationProvider及其协作者:
一旦用户被CAS认证,CasAuthenticationProvider就使用用户详细信息服务UserDetailsService
实例为用户加载权限。我们在这里展示了一个简单的内存设置。请注意,CasAuthenticationProvider实际上并不使用密码进行身份验证,但它使用了权限。
如果你回过头来看CAS是如何工作的,这些beans都是合理的不言自明的。
这就完成了CAS最基本的配置。如果您没有犯任何错误,您的web应用程序应该在CAS单点登录的框架内愉快地工作。Spring Security的其他部分不需要关心CAS处理身份验证的事实。在接下来的章节中,我们将讨论一些(可选的)更高级的配置。