2013-05-07 3 views
1

Прежде всего, я хочу сказать, что знаю, что есть много тем об этом, и я также ищу в Интернете, чтобы понять всю концепцию, что mvc имеет дело с безопасностью и сохранением информации о пользователе и т. но я хотел получить некоторые советы, идеи от профессионалов, пока я читаю об этом, поэтому я собираюсь объяснить свою ситуацию, и я благодарен за помощь.Проверка подлинности и авторизация MVC4 для пользовательской базы данных

позволяет сказать, что у меня есть собственный стол под названием «Пользователи»

public class Users : KySerializableObject 
{  
    [required] 
    public virtual string Email { get; set; } 

    [required] 
    public virtual string userName {get; set; } 

    public virtual UserType UserType { get; set; } 
    [Required] 
    [ForeignKey("UserType")] 
    public virtual int UserTypeID { get; set; } 
} 

что теперь я знаю, что MVC предоставляет simpleMembership, который работает в простых ситуациях, но так как у меня разные типы пользователей и дополнительная информация для моего пользователя, мне интересно, как я могу использовать тэг [authorize] для моего пользователя с разными ролями, которые я предпочитаю использовать свою собственную таблицу ролей, а также как я могу справиться с процессом входа в систему? Я имею в виду часть, которую я должен использовать FormsAuthentication, или я даже не уверен, что я должен использовать это или нет, я действительно потерян, и мне бы хотелось услышать некоторые советы от вас, ребята. Я не прошу кодов или что-либо еще, любая ссылка на хорошее руководство, объясняющее мою ситуацию, было бы потрясающе.

Еще раз спасибо

ответ

0

у меня такая же ситуация, и я после процедуры аутентификации подлинности с помощью форм Авторизация я написать свой собственный класс-обертку для RoleProvider. с этим вы можете непосредственно использовать как

[авторизовать (Правила = «Admin, пользователей»)]

если ваша проблема аутентификации/авторизации он будет помогает вам идеально.

0

Please take a look at this forum discussion in the ASP.Net forum

Если вы знаете свой путь вокруг аутентификации, вы должны были прибиты код здесь. Но, для вашего требования, пожалуйста, внимательно посмотреть на этот бит кода

string[] roles = //you add your custom roles for the current user to this string list 
GenericPrincipal userPrincipal = new GenericPrincipal(new GenericIdentity(authTicket.Name), 

роли); // то создать общий принцип

Context.User = userPrinciple; 

запомнить, если вы ставите этот код вне из Global.asax файла, а затем ContextHttpContext.Current является

Теперь вы можете использовать [Authorize(Roles = "yourRole1, yourRole2")]

Надежда, что помогает.

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