как создать весеннюю ссылку для входа в систему - PullRequest
1 голос
/ 16 августа 2010

У меня Spring Security 3.0.3 с CAS.Вот некоторые из моих сообщений:

<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 голосов
/ 19 ноября 2010

Если я понимаю, что вы ищете, вы можете указать им $ {cas.app.url} / login Оставьте параметр сервиса. Это приведет их к странице входа в систему вашего сервера cas, которая аутентифицирует их для всех ваших безопасных служб.

0 голосов
/ 19 августа 2010

Может указывать на любой URL, соответствующий шаблону <security:intercept-url pattern="/*/secure/**" access="ROLE_USER" />

...