none
ASP.Net Windows Authentifizierung für SQL Server RRS feed

  • Frage

  • Hallo zusammen,


    Habe eine kleine ASP.Net MVC3 TestAnwendung erstellt und diese auf dem Webserver / IIS (ebenfalls in der Domäne) verteilt.

    Bei mir lokal läuft die Anwendung auch einwandfrei im Browser.


    Jedoch habe ich mit dem Thema Berechtigungen massive Probleme.

    Ich muss in der Anwendung auf SQL-Server Datenbanken (auf anderem Server aber in derselben Domäne wie User und Webserver) zugreifen,

    aufs Filesystem zugreifen und auch aus dem Active Directory UserInfos lesen.


    Meine Idee ist, dass der in Windows angemeldete User mittels Windows Authentifizierung jeweils weitergereicht wird.

    Ich habe schon sehr viel recherchiert und aktuell die Windows Authentifizierung und ASP.Net Impersonation beides auf TRUE stehen,

    Anonymous-  bzw. Basic-Authentification etc. steht alles auf Disabled.


    Doch dann meldet der SQL Server bei Connection.Open() "Fehler bei der Anmeldung für den User NT Authority\Autonomous Login"

    ConnectionString = "Data Source= blabla;Initial Catalog=testtest;Trusted_Connection=Yes"


    Beim Zugriff aufs Filesystem (Netzlaufwerke) mittels "File.Exists()" erhalte ich immer die Meldung, dass die Datei nicht existiert.


    Beim Active Directory bekomme ich die Meldung "no operational server" ->

    (Dim dirEntry As System.DirectoryServices.DirectoryEntry = New System.DirectoryServices.DirectoryEntry("LDAP://" + "Domainname")


    vielen dank für eure hilfe !!!


    Montag, 2. Juli 2012 08:45

Antworten

Alle Antworten

  • Hallo Tobias,

    wenn Du die Windows Authentifizierung nutzen willst, darf diese natürlich nicht disabled sein. Also bitte Windows Authentication im IIS wieder aktivieren.

    Zusätzlich solltest Du in der web.config einstellen, dass eben kein Zugriff für nicht authentifizierte Benutzer erlaubt ist. Siehe dazu:

      http://msdn.microsoft.com/de-de/library/wce3kxhd.aspx

    In deinem Fall also bspw.:

    <authorization>
        <allow users="*" />
        <deny users="?" />
    </authorization>


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 2. Juli 2012 09:59
    Moderator
  • Danke für die rasche Antwort.

    Sorry, die Windows Authentifizierung ist natürlich enabled, hab ich mich verschrieben.

    ich habe auch <authorization> in die web.config eingetragen,

    das ergebnis bleibt jedoch das Gleiche:

    "Fehler bei der Anmeldung für den User NT Authority\Autonomous Login"

    mit diesem ConnectionString = "Data Source= blabla;Initial Catalog=testtest;Trusted_Connection=Yes"

    ich habe auch in anderen Foren schon nachgefragt und einige haben gesagt, dass man dies über SQLServer Authentifizierung machen sollte,

    weil Windows Authentifizierung scheinbar nicht funktioniert.

    Montag, 2. Juli 2012 10:20
  • Hallo Tobias,

    ich für meinen Teil nutze in Webanwendung auch lieber SQL Server Benutzer, dennoch geht es auch (mit etwas Umstellung auf allen Seiten) mit Windowsbenutzern. Schau mal hier:

      http://stackoverflow.com/questions/1981414/asp-net-windows-authentication-to-sql-server

    Da solltest Du alles notwendige nachlesen können.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 2. Juli 2012 10:24
    Moderator
  • Vielen Dank erstmal, Stefan

    für SQL-Sever nutze ich jetzt die SQL Server Authentifizierung,

    denn Windows Authentifizierung habe ich leider nicht hinbekommen,

    der Tipp mit "trusted delegation im AD" für den Webserver hat leider auch nichts gebracht,

    da dieser bereits diese Einstellung hat.


    Jetzt habe ich aber noch das Problem mit dem Auslesen aus dem Active Directory.

    Dort habe ich immer den User "DefaultApp" und ich möchte eigentlich mit dem impersonierten User (also dem eigentlichen Windows User aus dem AD auslesen,

    der auch das Recht dazu hat).

    Hast du da eine Idee, wie man das am Sinnvollsten managt, danke !!!

    Dienstag, 3. Juli 2012 14:30