Я пытаюсь реализовать собственный RoleProvider в своем приложении ASP.NET MVC.
Я создал собственный MembershipProvider, и он работает, так как я могу успешно проверить пользователя. Следующим шагом является реализация RoleProvider, чтобы ограничить доступ к certian Controllers только для пользователей Admin.
Кто-нибудь может дать мне краткое описание шагов, которые мне нужно предпринять?
Дело в том, что у меня сейчас мой контроллер с фильтром авторизации, вот так:
[Authorize(Roles="Admin")]
public class AdminOnlyController : Controller
{
// stuff
}
и у меня есть класс CustomRoleProvider со следующим методом вместе с множеством не реализованных методов:
public override string[] GetRolesForUser(string username)
{
if (username == "dave")
{
return new string[] { "Admin" };
}
}
Я думаю, что мне нужно как-то добавить пользователя в роль, но я не знаю, как это сделать. В идеале конечным результатом будет сценарий, когда неавторизованные пользователи не могут получить доступ к определенным контроллерам, и я в своих представлениях могу определить, показывать ли ссылки с чем-то вроде:
if (User.IsInRole("Admin"))
{
// show links to Admin Controllers
}
Кто-нибудь может указать мне правильное направление?