вопрос входа пользователя asp.net

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


person tim    schedule 06.09.2010    source источник
comment
Вы бы использовали таблицу сопоставления, если у компании много пользователей И у пользователей много компаний. Если у вашего пользователя есть только одна компания, в таблице пользователей есть столбец внешнего ключа, содержащий первичный ключ компании.   -  person GenEric35    schedule 07.09.2010


Ответы (1)


Если пользователь может быть частью только одной компании, то, как правило, будет таблица компаний и таблица пользователей, причем последняя имеет столбец внешнего ключа идентификатора компании для первичного ключа первого. Затем пользовательский объект будет иметь идентификатор компании во всем приложении (например, в данных cookie или данных сеанса), и приложение будет соответствующим образом применять правила фильтрации.

person David    schedule 06.09.2010
comment
Конечно, как бы я подключился к пользователю asp.net. есть ли объект для вошедшего в систему пользователя? - person tim; 07.09.2010
comment
Используете ли вы API членства Asp.Net? - person GenEric35; 07.09.2010
comment
@tim: это во многом будет зависеть от того, как сейчас настроено ваше приложение. Я обычно обрабатываю запрос аутентификации с помощью пользовательских моделей доменов, одной из которых является User. Эта настраиваемая модель будет содержать данные компании и будет следовать за вошедшим в систему пользователем, используя его сеанс (подтвержденный с помощью их файла cookie). - person David; 07.09.2010
comment
Да, я использую API членства. Мой вопрос в том, как мне привязать к этому? - person tim; 07.09.2010
comment
@Tim: я не уверен на 100%, как использовать базу данных членства вместе с данными, которые не являются членством? Можно ли строить вокруг базы данных членства или в вашей корпоративной базе данных создана другая таблица, например, Employee, которая будет отображаться в нее? Я бы предложил отредактировать заголовок вашего вопроса, включив в него API членства ASP.Net. Наверняка кто-то с большим опытом в этом сможет предложить лучший способ. Что касается меня, я не знаю лучшего ответа и останусь, чтобы посмотреть. Хороший вопрос! - person GenEric35; 07.09.2010