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