Spring Custom SSO - PullRequest
       13

Spring Custom SSO

2 голосов
/ 13 января 2012

Я пытаюсь интегрировать два отдельных веб-приложения: одно - это существующее пользовательское веб-приложение с собственной парадигмой безопасности, а другое - платформа отчетности (JasperServer).Я хочу использовать интерфейс веб-сервисов Jasper для интеграции функций отчетности в наше приложение.Наша модель безопасности сложна и доморощена, но я думаю, что есть надежда.

Мы устанавливаем файл cookie, который представляет собой зашифрованную строку, содержащую URI веб-службы в качестве источника аутентификации и токен, который хранится в базе данных, которая создается при входе пользователя в систему и уничтожается при выходе из системы.,Я думаю, что могу использовать это для реализации своего рода единого входа в Jasper, поскольку он использует Spring Security.

Что я ДУМАЮ Я должен сделать, это реализовать фильтр предварительной аутентификации, который проверяет cookie, о которых я упоминал выше.Затем он может расшифровать его, сделать вызов веб-службы для предоставленного источника аутентификации, чтобы убедиться, что токен активен в базе данных.Если это так, этот токен можно использовать для указания на информацию о пользователе и роли, которая может быть возвращена как объект UserDetails.

К сожалению, я знаю достаточно, чтобы быть опасным, но недостаточно, чтобы быть эффективным.Я на правильном пути?Это решение звучит надежно?Если да, то с чего бы начать, и есть ли примеры чего-то похожего, на что вы могли бы мне указать?Я искал вокруг довольно много и не нашел ничего, что вполне отвечает всем требованиям.

Заранее спасибо всем, кто может дать мне проблеск надежды

1 Ответ

0 голосов
/ 19 апреля 2012

Cookies привязаны к домену / поддомену / пути и порту.Можно установить cookie на уровне домена, поэтому, если у вас есть что-то вроде webapp.mydomain.com и jasper.mydomain.com, вы можете быть в порядке, если они находятся на одном и том же порту.

Тем не менее, очень осторожно относитесь к реализации собственной структуры единого входа / аутентификации.Это требует много мыслей.В нынешнем виде ваша предложенная реализация будет уязвима для: повторного воспроизведения, атаки по центру и атак XSRF ... могут быть и другие уязвимости, но на ум приходят только три ... извините!: D

...