В ASP.NET MVC есть встроенная возможность ограничить доступ к тем или иным контроллерам и их действиям. Эта возможность предоставляется атрибутом AuthorizeAttribute, но возможностей и гибкости ему явно не хватает (точнее их практически нет). Права можно определить только на этапе разработки и без повторной компиляции никак не изменить. А ведь создать собственный атрибут, обладающий необходимым функционалом совсем не сложно.
Итак, приступим. Создаём новый проект в Visual Studio, тип выбираем ASP.NET MVC 3 Web Application, называем DynamicAuthorize. Ждём, пока студия сгенерирует проект.
Каким образом хранить и определять права доступа можно различными способами: вЧитать полностью »