Можно использовать атрибут Authorize - его можно "навесить" либо целиком на контроллер, либо на метод действия - читайте литературу по MVC.
Как узнать роль пользователя?
Вопрос странный: пишете метод IsUserInRole или как-то так и реализуете, как надо (в MembershipAPI, например, реализация уже есть). В MVC в любой момент времени доступен объект User.Identity, у которого можно вытащить свойство Username. По username можно определить его роль - проблемы особой не вижу. Можно написать еще свою "обертку" над объектом пользователя, ему в свойства "засунуть" роли или добавить кучу свойств вида Is, например: IsAdmin, IsGuest, затем к этим свойствам обращаться - тут уже как у Вас фантазия заработает.