where to store the user credentials in an enterprise application(EAI)?

Background/Context

We are developing a Event Notification Service. The application at a high level looks like below: high level flow

Наша область разработки включает виджет и ENS.

« ENS » действует как центральная точка сбора для определенных типов событий, которые представляют интерес для пользователей. Любой пользователь, который хочет знать, когда происходят такие события, регистрируется в ENS, который идентифицирует события по порядку и сопоставляет уведомления с подписками.

Пользователь, который хочет подписаться, должен быть действующим пользователем интегрированного приложения (db, sap-система и т. д.)

Последовательность событий:

enter image description here

Теперь мой вопрос is:

Каковы наилучшие методы хранения учетных данных пользователей db, sap и т. д.

ИЗМЕНИТЬ Как часто следует аутентифицировать пользователя? Должно быть каждый раз, когда сообщения доставляются? (Как упоминал @duffymo, если я использую эту стратегию, это повлияет на исходную систему)

Дополнительная информация: ENS - это веб-службы.

ENS опрашивает SAP (и другие приложения), и именно здесь проблема становится более сложной. In SAP there is data-level authorization. So not all users are allowed to see all the events/data.

If the SAP has PUSHed the data, along with the User info who has authorized to see, then no issues at all.

Case 1: Scheduler is initiated by the ENS

  1. User subscribes to a subscription. At the time of subscription, user is checked for his authorization in the SAP system. If OK, then he will be allowed for Subscription.
  2. The scheduler runs at the scheduled time.
  3. The scheduler identifies the users who are subscribed.
  4. The scheduler uses the stored credentials of the users(stroed in ENS) to POLL if the event occured.
  5. Notify users if there are changes.

Disadvs here:

  • User credentials are stored somewhere external - Security team might not accept it
  • Reduntant hits if more than one user подписан на тот же кусок информация

Случай 2: Планировщик запускается WIDGET. Кредиты пользователей будут храниться только на локальном компьютере пользователя. Diadv:

  • Если подписка посуточная, а если пользовательская система / виджет не работает. В пользователь может пропустить уведомления это происходило, скажем, по выходным.
  • Reduntant попадает на сервер, если больше чем один пользователь подписан на same piece of information.
9
задан jai 18 February 2011 в 10:42
поделиться