könnten Sie Rollen verwenden, um dies mit dem bestehenden AuthorizeAttribute zu handhaben. Stellen Sie Ihre AD-autorisierten Benutzer einfach in eine bestimmte Rolle, und in den Pfaden, die eine AD-Anmeldung erfordern, legen Sie fest, dass die Rollen für diesen Controller/diese Methode die AD-Rolle benötigen. Dies würde die Implementierung einer RoleProvider erfordern, die etwas einschüchternd wirken kann, aber wirklich nicht so schlimm ist. Speichern Sie die Rollen des Benutzers in einem Cookie, so dass Sie nicht jedes Mal nachsehen müssen. Der Vorteil hier ist, dass dies zu zusätzlichen Rollen skalieren wird, wenn Ihre Anwendung komplexer wird.
Alternativ können Sie das vorhandene AuthorizeAttribute erweitern und dabei OnAuthorization überschreiben und Ihre benutzerdefinierte Version verwenden. Dieses Attribut könnte prüfen, ob nicht nur die Anforderung autorisiert ist, sondern auch, dass sie über den richtigen Anmeldeinformationstyp verfügt. Der Anmeldeinformationstyp könnte bei der Anmeldung in der Sitzung gespeichert und von dort für authentifizierte Benutzer abgerufen werden. Dies ist einfacher zu schreiben, skaliert aber nicht so gut.