Если я не понимаю вопрос ...
Эти модели связаны с моделью пользователя .
Идентификатор пользователя и роли имеют дело с аутентификациейи авторизация .
Скорее всего, вы используете проверку подлинности с помощью форм и поставщик членства в ASP.NET по умолчанию.
Если вы хотите получить доступ к идентификатору пользователя текущего вошедшего в систему пользователя, вынеобходимо добавить его в тикет аутентификации форм при входе пользователя в систему, тогда вы можете получить к нему доступ через HttpContext.Current.Request.User.Identity
.
Если вы используете FormsAuthentication.SetAuthCookie
, то Identity.Name
будет указывать на то, что вы передалиSetAuthCookie
- чтобы вы могли передать UserId.
Но большинство людей (включая меня) используют псевдонимы / имена пользователей для Identity.Name
, поэтому вам нужно вручную создать билет проверки подлинности с помощью форм и добавить его вкуки-файлы ответа.
Чтобы узнать, играет ли пользователь роль, выполните следующие действия:
HttpContext.Current.User.IsInRole("Administrator")
Это стандартная часть ASP.NET, не специфичная для ASP.NET MVC.
Кроме того, если вы используете ИЛИM, как Entity Framework или NHibernate или Linq2Sql, не отображайте таблицы членства.
Создайте свою собственную таблицу User, в которой FK указывает на эту таблицу, тогда ваша таблица User станет моделью.
Встроенный API поставщика членства будет использовать хранимые процедуры за кулисами для выполнения необходимых вам функций.