Динамическая авторизация MVC 3 для нескольких ролей и пользователей

Недавно я начал разрабатывать MVC 3, но с тех пор имею опыт работы как с C #, так и с ASP.NET. Итак, я начну с того, что пытаюсь достичь. Я разработал небольшой сайт для размещения статей. Я реализовал на сайте управление членством на базе SQLServer. Теперь я хочу создать систему учетных данных, которая ограничивает и позволяет нужным пользователям создавать, удалять и обновлять статьи. Есть одно простое решение - сделать это так:

[Authorize(Roles="Admin")]
    public ActionResult UpdateArticle(ArticleModel model, int articleid)
    {
        return View();
    }

Теперь это действительно просто. Я просто говорю, что обновлять статью могут только участники с ролью «Администратор». Но это просто статика. Итак, я создал таблицу учетных данных в своей базе данных, которая в конце говорит мне, что «Статью 5 можно редактировать ролями 1,2,3 и 4 и пользователями A, b и C». Все идет нормально. Но как мне реализовать это с помощью решения «Авторизация»?

Я хотел бы сделать что-то вроде этого:

[Authorize(getAuthorizedusers("update",this.articleid))]

где getAuthorizedusers возвращает, какие пользователи и роли имеют право обновлять статью с помощью переданного ему articleid.

] Итак, у меня есть (как минимум) две проблемы: -Получение метода авторизации для принятия нескольких пользователей и ролей. -Передача предоставленного articleid, отправленного методу UpdateArticle, методу getAuthorizedusers.

19
задан GEOCHET 27 May 2012 в 17:46
поделиться