Идентификация на основе утверждений -> синхронизировать данные пользователя - PullRequest
1 голос
/ 22 февраля 2011

Допустим, у меня есть и пользовательский STS, который аутентифицирует пользователей веб-приложения.Этот STS также имеет такие данные, как идентификатор пользователя, имя и адрес электронной почты.У меня следующая ситуация:

У меня есть приложение, которое использует STS.В этом приложении пользователи могут создать запись, и одно из свойств будет «создателем», заполненным идентификатором пользователя.Если люди ищут эту запись, я хочу показать им настоящее имя, а не идентификатор пользователя.Поэтому мне нужно как-то сохранить связь между идентификатором пользователя и реальным именем.

Проблема: в базе данных приложения у меня есть только идентификатор пользователя, но я хочу показать конкретные данные пользователя.Какой лучший способ сделать это?Я подумал о добавлении метода в мой STS, который позволил бы мне запрашивать дополнительные пользовательские данные, но это было бы очень медленно, если бы мне нужно было отображать около 50 записей на экране, которые имеют разные идентификаторы пользователя.Другое решение - сохранить в моем приложении таблицу с пользовательскими данными.Пользователь добавляется в эту таблицу, когда «приложение» впервые используется моим приложением.Но как и когда вы синхронизируете эту таблицу?

Я думаю, что предпочитаю решение 2, и просто синхронизирую данные каждую ночь или около того.

Что вы, ребята, думаете?

1 Ответ

2 голосов
/ 24 февраля 2011

Можете ли вы изменить схему своей базы данных?

Если вы можете, то вы можете получить имя и другую информацию о свойствах пользователя из STS, а затем сохранить ее на своей стороне (возможно, в пользовательской базе данных или всвязанная запись).Вы бы рассматривали это как «справочные» данные только для запросов и отображения и не позволяли бы редактировать.

Каждый раз, когда пользователь аутентифицируется (и представляет токен со всеми этими утверждениями), вы просто обновляете информацию в своей базе данных.Чтобы это работало, вам нужен хороший уникальный идентификатор (идентификатор пользователя?), Который можно использовать как постоянный доверенный дескриптор для пользователей.

...