Вам не нужно указывать число в деньгах, только оплачиваемые часы.
Вы хотите, чтобы кто-то делал вашу работу бесплатно? Давай ...
Авторизация
В любом случае, я бы использовал Code Access Security и олицетворение для обеспечения безопасности во всех моих службах. Проверьте атрибут PrinicpalPermission .
Контроллер / Уровень действия
Что касается MVC, просто используйте атрибут Authorize , чтобы обеспечить авторизацию. Получите его, чтобы обеспечить более точный контроль.
Оформление безопасности
if (System.Thread.Threading.CurrentThread.CurrentPricinpal.IsInRole("Administrator"))
//show menu item
Уровень предмета
Невозможно с реализацией MVC по умолчанию. Вам нужно проверить свои действия вручную.
if (!System.Thread.Threading.CurrentThread.CurrentPricinpal.IsInRole(item.RequiredRole))
return View("AccessDenied", null); //return accessdenied view.
Аутентификация
Я не знаю, какие у вас пользователи. Все ли зарегистрированы в домене AD? Затем используйте аутентификацию Windows для аутентификации ваших пользователей. Это просто настройка IIS ..