Вы можете использовать роли для обработки этого с существующим AuthorizeAttribute . Просто поместите авторизованных пользователей AD в определенную роль, а затем в пути, требующие входа в AD, установите роли для этого контроллера / метода, требующие роли AD. Это повлечет за собой реализацию RoleProvider , который может показаться несколько пугающим, но на самом деле не все так плохо. Кэшируйте роли пользователя в файле cookie, чтобы вам не приходилось каждый раз искать их. Преимущество здесь состоит в том, что это масштабируется до дополнительных ролей, поскольку ваше приложение становится более сложным.
В качестве альтернативы вы можете расширить существующий AuthorizeAttribute, переопределяя OnAuthorization и использовать свою пользовательскую версию. Этот атрибут может проверять, чтобы убедиться, что запрос не только авторизован, но и имеет правильный тип учетных данных. Тип учетных данных может быть сохранен в сеансе при входе в систему и получен оттуда для аутентифицированных пользователей. Это проще написать, но не масштабируется.