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