2014-09-03 5 views
0

Я внедряю SAML2.0 ServiceProvider в java, используя код Spring-security-saml-sample. После успешного ответа на вход будет перенаправлен на корневой путь (приветственный файл) приложения. Как перенаправить его на любой контроллер?Реализация поставщика услуг SAML 2.0

Спасибо, Tejas

+0

Я попытался с добавлением <боб ID = "successRedirectHandler" класс = "org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler"> <имя = "defaultTargetUrl" значение свойства = "/ myControllerURL" /> Но это не сработает. – Tejas

ответ

1

Вы можете настроить URL, к которому пользователь перенаправляется после успешной аутентификации, изменив боб successRedirectHandler, например, для:

<bean id="successRedirectHandler" 
     class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler"> 
    <property name="defaultTargetUrl" value="/myControllerURL"/> 
</bean> 
+0

Я добавил этот компонент в файл securitycontext.xml, но он не работает. После добавления этого кода он перенаправляет файл приветствия, упомянутый в web.xml – Tejas

+0

Затем включите ведение журнала на уровне отладки и добавьте журналы из всего процесса единого входа в систему вопрос. –

+0

Я получаю следующие журналы: - сообщение протокола SAML не было подписано, пропуская обработку подписи XML - AuthNResponse; SUCCESS; 0: 0: 0: 0: 0: 0: 0: 1; http: // localhost: 8080/ServiceProvider /saml/metadata;http://idp.ssocircle.com;[email protected] ;; аутентификация org.springf[email protected]4a5c013f: Principal: [email protected]; Учетные данные: [ЗАЩИТА]; Authenticated: true; Детали: null; Не получили никаких полномочий – Tejas

0

Если вы ищете общий путь к поддерживать состояние через процесс входа в систему, ожидается, что SAML2 сохранит переменную RelayState (передайте ее вместе с SAMLRequest). Поместите все, что вам нужно. Мне нравится base64'd json.

Смежные вопросы