I wdrożone uwierzytelniania formularz oparty, który używa AD w aplikacji ASP MVC 3 następujące kierunki znalazłem tutaj ASP.NET MVC - Authenticate users against Active Directory, but require username and password to be inputtedASP.NET MVC Formularz oparty uwierzytelniania przy użyciu AD działa lokalnie, ale nie na serwerze (IIS7)
I działa bez zarzutu kiedy uruchomić przy użyciu ASP.NET Development Server, ale nie wykracza poza strony logowania po tym jak wprowadzić swoje dane uwierzytelniające i daje następujący błąd:
błąd konfiguracji
Opis: occu błąd rred podczas przetwarzania pliku konfiguracyjnego wymaganego do obsługi tego żądania. Sprawdź szczegółowe informacje o błędach poniżej i odpowiednio zmodyfikuj plik konfiguracyjny.
Komunikat o błędzie analizatora składni: Wystąpił błąd operacji.
Błąd Źródło:
Line 37: <membership defaultProvider="MY_ADMembershipProvider">
Line 38: <providers>
Line 39: <add name="MY_ADMembershipProvider" type="System.Web.Security.ActiveDirectoryMembershipProvider" connectionStringName="ADConnectionString" attributeMapUsername="sAMAccountName" />
Line 40: </providers>
Line 41: </membership>
Każda pomoc będzie mile widziane, z góry dzięki.
UPDATE: Dotychczas po kilku debugs myślę, błąd może być pochodzących z System.Web.Security.ActiveDirectoryMembershipProvider
w config web.xml, dodałem System.Web
(w którym stwierdzono, że klasa) jako punkt odniesienia, a także zrobić kopia lokalna, ale nadal, zip ... :(
Może nie być tak, ponieważ aplikacja działa doskonale, gdy przełączam się z Formularzy na system Windows jako metodę uwierzytelniania. – dotKwame
To zupełnie normalne. Podczas korzystania z uwierzytelniania systemu Windows używasz poświadczeń klienta do wysyłania zapytań o reklamę. Podczas korzystania z anonimowego uwierzytelniania nie ma żadnych uprawnień. –
Po prostu przetestuj to z niestandardowym dostawcą członkostwa AD, który "ręcznie" uwierzytelnił za pośrednictwem AD w kodzie 'DirectoryEntry dsEntry = new DirectoryEntry (ldapSvrAddr, model.Username, model.Password); obiekt nativeobj = dsEntry.NativeObject; ', następnie zmienił typ w web.config z' System.Web.Security.ActiveDirectoryMembershipProvider' na 'MyNamespace.MyCustomADClass' i działał poprawnie (bez połączenia nazwa_użytkownika lub wymagane hasło), ale chcę użyj standardowego dostawcy usług AD w strukturze .net i nie skończ do implementowania wszystkiego: – dotKwame