2013-03-20 2 views
1

Я хочу предоставить пользователю доступ в соответствии с ролью пользователя. У меня есть две роли пользователя. они являются администратором и пользователем.Как предоставить пользователю доступ в MVC C#?

Я пишу свой контроллер следующим образом.

[Authorize(Roles = "Admin")] // my Problem is here. I don't know how to set the current user role 

public ActionResult Index() 
{ 
    var query = from company in db.tblCompanies 
       select company; 
    return View(query.ToList()); 
} 

Но я не знаю, как установить Roles = "Admin" после Cutomer входа в систему. В моей пользовательской истории у меня есть Роли coloum, и это может спасти администратора или пользователя. Но я не знаю, как установить и где я должен установить Roles = "Admin".

+0

Этот вопрос очень трудно понять. Можете ли вы сделать это более понятным? –

+0

Так вы используете поставщиков услуг по умолчанию и ролей по умолчанию или у вас есть пользовательская таблица? –

+0

У меня есть пользовательская таблица. Я не знаю, как установить текущую роль пользователя. Я могу получить его из базы данных. Но я не знаю мотыгу, чтобы установить его? – user1348351

ответ

0

Основываясь на вашем вопросе, что я понимаю, вы хотите установить для текущего пользователя в качестве роли. Итак, вот мой ответ на этот вопрос.

Для добавления пользователя к роли:

Roles.AddUserToRole(userName, roleName); 

Чтобы удалить пользователя из роли:

Roles.RemoveUserFromRole(userName, roleName); 

Эталонные Ссылки:

  1. SO - How to Assign roles to User while creating their account
  2. MSDN - Implementing a Custom Role Provider
  3. MSDN - Roles.AddUserToRole Method
  4. MSDN - Roles.RemoveUserFromRole Method