Как можно интегрировать систему единого входа с SiteMinder и разработанным на заказ решением java / .Net? - PullRequest
5 голосов
/ 04 апреля 2011

Я думаю о создании индивидуального решения с использованием java или .NET, и я хочу интегрировать уровень аутентификации с SiteMinder.

A. Из того, что я обнаружил до сих пор, кажется, что SiteMinder предоставляет какой-то API-интерфейс для внешнего приложения для передачи учетных данных для входа в Siteminder, и Siteminder может вернуть, верны ли учетные данные для входа:

https://support.ca.com/cadocs/0/CA%20SiteMinder%20r12%20SP2-ENU/Bookshelf_Files/PDF/siteminder_java_dev_enu.pdf

https://support.ca.com/cadocs/0/CA%20SiteMinder%20r12%20SP2-ENU/Bookshelf_Files/PDF/siteminder_sdk_overview_enu.pdf

=> Исходя из вашего опыта, есть ли проблема, когда вы реализуете это?

B. После аутентификации я предполагаю, что SiteMinder передаст идентификатор пользователя для входа в мое разрабатываемое приложение, которое будет выполнять поиск в базе данных, чтобы выяснить роли и функции, связанные с идентификатором пользователя для входа. Это означает, что мне нужно иметь таблицу базы данных, в которой хранится список идентификаторов пользователей из SiteMinder.

=> Есть ли способ экспортировать идентификаторы и имена пользователей из siteminder в плоский файл? Я подумываю о создании обычной работы интерфейса данных, которая будет извлекать информацию о пользователе из siteminder и обновлять мое приложение, которое будет разработано.

Ответы [ 3 ]

12 голосов
/ 04 сентября 2011

A. Я настоятельно рекомендую не использовать SDK, если вы не обязаны. Ваш код будет слишком привязан к Siteminder и может сломаться при каждом обновлении инфраструктуры Siteminder. SDK используется, когда нет других решений.
Более стандартным способом интеграции Siteminder является установка веб-агента / агента J2EE на ваш веб-сервер / сервер приложений. Siteminder позаботится о процессе аутентификации пользователя, поэтому вам не нужно беспокоиться о паролях и передаче учетных данных в Siteminder. Этот процесс аутентификации полностью прозрачен для приложения.
Как только пользователь аутентифицируется с помощью Siteminder, веб-агент добавляет к запросу определенные HTTP-заголовки с информацией о пользователе (имя пользователя, адрес электронной почты, соответствующие роли, другая информация ...).
Приложению просто нужно извлечь и доверять этой информации во входящем HTTP-запросе.

B. У вас есть два способа добиться этого:

  1. Siteminder может добавить эту информацию в заголовок, так что у вас нет справиться с ними.
  2. Если вам действительно нужна эта информация в вашей базе данных, Барра уже предоставила вам наиболее значимые информация.
2 голосов
/ 15 апреля 2011

A.API для создания сеанса SiteMinder, но вам необходимо ввести учетные данные от пользователя

B.SiteMinder не использует свой собственный репозиторий пользователей.Он передается на внешние серверы LDAP или базы данных.Таким образом, вы имеете дело с этим компонентом, не проходя через SiteMinder

1 голос
/ 01 августа 2014

Если вы не хотите устанавливать веб-агент или обеспокоены последствиями безопасности при использовании заголовков HTTP, вы можете захотеть использовать SAML. SiteMinder включает поддержку аутентификации пользователей на основе SAML, которая может быть более простым решением для реализации.

SAML - это стандартный протокол единого входа, вы сможете найти множество примеров и, возможно, даже готовый модуль, который можно использовать.

...