2012-04-27 6 views
0

Я следую за этот учебник linkASP.NET MVC Пользовательские авторизации: AuthorizeAttribute

У меня есть таблица пользователей {iduser, пользователь, передать, роль}

Я использую эти пользователи : string[] users = db.users.Select(t => t.user).ToArray();

вместо: string[] users = Users.Split(','); В порядке?

Моя проблема с ролями: SiteRoles role = (SiteRoles)httpContext.Session["role"];

Q: Где я могу хранить роль для моего пользователя?

Мой упрощенный контроллер счета:

[HttpPost] 
    public ActionResult Login(LoginModel model) 
    { 
     HeliosEntities db = new HeliosEntities();  
     if (ModelState.IsValid) 
     { 
      bool userok = db.users.Any(t => t.user == model.UserName && t.pass == model.Password); 
      if (userok == true) 
      { 
       FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); 
       return RedirectToAction("Index", "Home"); 
      } 
      { 
       ModelState.AddModelError("", "Incorect password or user!"); 
      } 
     } 

     return View(); 
    } 
+0

Вы используете поставщик членства по умолчанию? Кроме того, похоже, что вы не используете шифрование для своего пароля, это откроет много дыр в безопасности. – ianaldo21

+0

Я следил за этим учебным пособием по 5 частям: http://www.youtube.com/watch?v=HXfhPj1rlQ8 – Misi

ответ

0

Быстрый взгляд на вашу ссылку выше показывает, что он получает роль пользователя от сеанса:

(SiteRoles)httpContext.Session["role"]; 

поэтому вам нужно установить значение сессии, когда пользователь входит в систему, например:

var userRole = Roles.Admin | Roles.User; 
httpContext.Session["role"] = role; 

Я не знаю, где вы храните информацию о том, какую роль играет пользователь.

+0

Информация о роли и пользователе хранится в * user * entity (EF). Где установить значение сеанса в моем home-madeAccountController? (См. Ссылку на YouTube выше) – Misi

+0

Когда пользователь успешно войдет в систему, вы получите свои роли из базы данных и установите значение сеанса в этой точке. –

+0

В порядке ли я заполнял пользователей в классе CustomAuthorizeAttribute? – Misi

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