2015-05-24 2 views
0

Я использую встроенную систему идентификаторов ASP.NET. И я хочу иметь разных типов пользователей. ASP.NET уже позволяет мне создавать пользовательские роли, но я также хочу хранить разные типы данных в зависимости от того, какую роль у пользователя есть.Как хранить различные фрагменты информации в зависимости от роли пользователя в ASP.NET?

Например, клиент может иметь баланс, в то время как поставщик может иметь название компании. Но оба являются пользователями, которые должны иметь возможность входа в мою систему. Есть ли хороший способ сделать это в ASP.NET?

+1

Вы, безусловно, необходимо, чтобы узнать, как основа идентичности строится вокруг ** ** претензии. То, что вы описываете, звучит точно так же, как и утверждения, но в то же время вы чувствуете, что не знаете о своем существовании. –

+0

Вам нужно это постоянное во всех входах или только для текущего сеанса? – JJS

ответ

0

Используйте API профиля идентификации asp.net для добавления пользовательских свойств для своих пользователей.

http://www.asp.net/mvc/overview/security/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on#ap

public class ApplicationUser : IdentityUser 
{ 
    // start custom properties 
    public string HomeTown { get; set; } 
    public System.DateTime? BirthDate { get; set; } 
    // end custom properties 
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) 
    { 
     // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType 
     var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie); 
     // Add custom user claims here 
     return userIdentity; 
    } 
} 

Это сообщение из команды asp.net имеет более пошаговый подход.

http://blogs.msdn.com/b/webdev/archive/2013/10/16/customizing-profile-information-in-asp-net-identity-in-vs-2013-templates.aspx

Смежные вопросы