如何创建spring cas登录链接

时间:2010-08-16 14:54:05

标签: java spring spring-security cas

我有CAS的Spring Security 3.0.3。我的一些内容如下:

<security:http entry-point-ref="casAuthenticationEntryPoint" auto-config="true" >
    <security:intercept-url pattern="/*/secure/**" access="ROLE_USER" />
    <security:custom-filter position="CAS_FILTER" ref="casAuthenticationFilter" />
    <security:anonymous enabled="false"/>
    <security:logout invalidate-session="true" logout-url="/logout" logout-success-url="/web/auth?logout" />
</security:http>

<bean id="casAuthenticationEntryPoint" class="org.springframework.security.cas.web.CasAuthenticationEntryPoint">
    <property name="loginUrl" value="${cas.app.url}/login"></property>
    <property name="serviceProperties" ref="serviceProperties"></property>
</bean>

<bean id="serviceProperties" class="org.springframework.security.cas.ServiceProperties">
    <property name="service" value="${application.stack.hostname}/ctx/j_spring_cas_security_check" />
    <property name="sendRenew" value="false" />
</bean>

如果我访问某些安全内容,我会被重定向到CAS登录。验证后,我被重定向回我试图访问的安全URL。

在每个页面上我都需要添加“登录”链接来执行相同的操作。这个链接应该指向哪里?我尝试了$ {cas.app.url} / login?service = $ {application.stack.hostname} / ctx / j_spring_cas_security_check但这似乎不起作用。

当然所有属性都替换为适当的完整主机名:)

2 个答案:

答案 0 :(得分:0)

它可以指向与模式<security:intercept-url pattern="/*/secure/**" access="ROLE_USER" />

匹配的任何网址

答案 1 :(得分:0)

如果我理解你在找什么,你应该只能将它们指向$ {cas.app.url} / login。省略服务参数。这将把他们带到你的cas服务器的登录页面,它将对你的所有安全服务进行身份验证。