Я только начинаю изучать ASP.NET MVC. Я работаю над проектом, созданным с помощью стандартного шаблона проекта, который по умолчанию использует SqlMembershipProvider
. Это автоматически создало базу данных ASPNETDB.mdf в моем проекте для хранения информации о членстве. Как я могу связать членов, хранящихся в этой базе данных, с моими фактическими данными приложения?
Должен ли я просто ссылаться на имя текущего пользователя в моих методах действий, используя this.User.Identity.Name
, чтобы использовать его в качестве ключа при хранении или получении информации о пользователе в базу данных моего приложения и из нее? Или я должен использовать this.User.Identity.UserId
вместо этого? Я всегда думал, что целочисленные идентификаторы были намного быстрее искать против строки или идентификаторов базы GUID. Но основным ключом таблицы aspnet_Users является поле GUID.
Есть ли разница между this.user
против this.HttpContext.User
? Как насчет IPrincipal
, возвращенного из этих свойств, против MembershipUser
, возвращенного из Membership.GetUser()
. В чем разница между ними?
Кроме того, лучше ли хранить информацию о членстве в отдельной базе данных от базы данных приложения? Или можно объединить их в одну базу данных?