Erstmal hallo an alle,
für unsere Intranet-Anwendung um einen Newsletter zu erstellen und
versenden, möchte ich gerne mit der Windows-Auth. nutzen. Dennoch klappt dies
leider nicht wie gewünscht.
Ich habe zu einem im IIS 6.0 die Windows-Auth. eingeschaltet und die Anonyme
Auth. ausgeschaltet.
In der Web.config habe ich dann noch folgende Einträge hinterlegt.
<!-- Authenifizierungsmethode festlegen /-->
<authentication mode="Windows" />
<identity impersonate="true" />
<!-- Zugriff fuer alle Seiten nicht erlauben (erstmal) /-->
<authorization>
<allow roles="Domain\Rolle1,Domain\Rolle2" />
</authorization>
Nun wenn ich folgende Code ausführe, bekomme ich nicht die gewünschten
Ergebnisse:
<script language="vb" runat="server">
Sub Page_Load()
lbmessage.Text = File.Exists("J:\Ordner1\Ordner2\datei.doc") & "<br />"
lbmessage.Text &= File.Exists("\server\Ordner1\Ordner2\datei.doc") & "<br
/>"
lbmessage.Text &= User.Identity.Name & "<br />"
lbmessage.Text &= WindowsIdentity.GetCurrent().Name & "<br />"
End Sub
Ich habe folgende Ausgabe:
False
False
Domain\Account
Domain\Account
Wenn ich nun in der web.Config Datei den Eintrag
<identity impersonate="true" /> auf
<identity impersonate="true" userName="User" password="pwd" /> auf meine
Account einrichte, lieftert mir der Befehl
File.Exists("\server\Ordner1\Ordner2\datei.doc") true zurück. Das dies mit
J:\ nicht funktioniert leuchet mir ein, da dies ja ein Netzlaufwerk ist.
Ich möchte gerne hier mir den aktuellen Account arbeiten und nicht immer
über meinen. Ich habe schon versucht dies Codeseitg per
System.Security.Principial zu realisieren. Doch diese brachte ebenfalls nicht
den gewünschten Erfolg.
Vielleicht habt ihr ja noch einen Tipp für mich.
Ich bedanke mich jetzt schonmal. Suche schon lange nach einer Lösung
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Füge in der Web.config 'mal folgendes hinzu...
<deny users="?"/>
(ins authorization-Tag)
Jetzt sollte der Anmeldedialog erscheinen.
Grüsse
Hallo,
du bist doch auch im www.aspforum.de tätitg? Dein Nickname kommt mir doch bekannt vor!
Also ich werde morgen mal dein Antwort versuchen umzusetzen.
Aber der Anmeldedialog wird mir angezeigt, zumindens im Mozilla Firefox. Der IE unterstützt doch die direkte Weitergabe des Accounts (der Creditinials)?
Dies habe ich in der SDK gelesen, da irre ich mich doch nicht?
Wenn ich mir jetzt folgende Befehle ausgebe:
lbmessage.Text &= User.Identity.Name & "<br />"
lbmessage.Text &= WindowsIdentity.GetCurrent().Name & "<br />"
Bekomme ich immer meinen aktuellen Account angezeigt der in der Domain genutzt wird.
Im IIS habe ich die Win.-Auth aktiviert und die Anonym.-Auth deaktiviert. In der web.Config nutze ich die Windows-Mode, sowie setzte ich das attribut impersonate auf true.
trotzdem funktioniert nicht der zugriff auf das netzwerk. gebe ich der web.config jetzt in der identity-element jetzt nch mein username und pwd mit klappt alles einswandfrei.
das kommt mir spanisch vor?
was mach ich da falsch
Danke & Gruss plongo
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Keine eine Ahnung?
ich habe schon alles versucht. Aber es will einfach net klappen!
Naja
Danke & Gruss plongo
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Hi,
also ich hab mir jetzt nicht alles durchgelesen hier, aber im Internet-Explorer sollte in den Intranet-Sicherheitseinstellung für Authentifiaction nicht auf automatisch stehen. Der Firefox fragt so oder so, der I-Net-Explorer steht, zumindest ist es bei uns so, im Intranet auf automatisch authentifizieren.
ok danke muss ich direkt mal testen 😁
Gruss plongo
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Du meinst also in IE unter Internetoptionen > Sicherheit > Lokales Intranet > Stufe anpassen > Benutzerauthentifizierung > nach Benutername und Kennwort fragen
Bzw. könnte ich dort auch auswählen > Automatische Anmeldung mit aktuellen Benutzername und Kennwort?
Gruss plongo
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Meiner Erfahrung nach funzt das mim IE nicht wirklich ... ich hab mich nämlich auch lang mit dem Problem auseinander gesetzt ... letztenendes hab ich aber die Einstellung am IE einfach gedreht, bzw den FF benutzt.
Ich habe jetzt mal deine option versucht.
Jetzt bekomm ich die Fehlermeldung:
CryptoAPI cryptographic service provider (CSP) for this implementation could not be acquired.
Hmm naja, ich werde es mal versuchen mit der weitergabe des Benutzers und kennwort. Mal schauen ob das was bringt.
Ich weiss ja nicht ob ich irgendeine Einstellung vergessen habe.
Bei der Augabe des aktuellen User in httpContext bzw. mit WindowsIdentity bekomme ich immer meinen Account angezeigt. Dennoch klappt es nicht.
Ausser ich stelle eben in der web.config das identity-element mit meinen Benutername und Kennwort ein. Dann klappts. Das ist im IE und FF
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Das Problem ist das soweit ja alles klappt ich bin mit meinen Benutername authentifiziert und kriege das ja auch gemeldet.
nur wenn ich versuche eine email zu versenden mmit NTLM + einer Datei aus den dem Netzwerk. da klappt es dann nicht!!!
Ich vermute mal das dort das Token wohl nicht weitergeben wird ?!
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Die Einstellungen am IIS sind egal, denn sie werden von der web.config für die website überschrieben.
Diese web.config-Einstellung funktioniert bei mir einwandfrei...
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication mode="Windows"/>
<authorization>
<deny users="?"/>
</authorization>
<identity impersonate="true"/>
</system.web>
</configuration>
Dein Fehler muss irgendwo anders stecken.
Grüsse
OK dann verwende ich mal deine Config und setze mal im IIS die Auth um bzw. kann ich es ja lassen, das es nach deiner meinung her egal ist.
Nur die Frage ist wo kann der Fehler denn noch liegen? X( 8o
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Glaubst du wirklich das die IIS-Einstellung egal ist?
Für dieses Szenario brauche im IIS schon die Win-Auth. oder verstehe ich dich falsch.
Achja ich nutze IIS 6 und .NET 1.1
Also
IIS -> Win.Auth
<system.web>
<authentication mode="Windows" />
<identity impersonate="false" />
<authorization>
<deny users="?" />
</authorization>
</system.web>
Test: Ausgabe des Bentuzers
<%="1. " & User.Identity.Name%><br />
<%="2. " & System.Security.Principal.WindowsIdentity.GetCurrent.Name %><br />
<%="3. " & System.Threading.Thread.CurrentPrincipal.Identity.Name %>
Ausgabe
1. PSH1\Andreas
2. NT-AUTORITÄT\NETZWERKDIENST
3. PSH1\Andreas
Sezte ich web.Config
<identity impersonate="true" /> erhalte ich die Ausgabe
1. PSH1\Andreas
2. PSH1\Andreas
3. PSH1\Andreas
jetzt kann ich doch davon ausgehen das er mit meiner Identität arbeitet. Arbeite der Email-Versand über NTLM + Zugriff auf eine Dateim im Netzwerk klappt net, ausser ich setzte mein Account im identity Element.
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Original von plongo
Glaubst du wirklich das die IIS-Einstellung egal ist?Für dieses Szenario brauche im IIS schon die Win-Auth. oder verstehe ich dich falsch.
Genau das macht ja <authentication mode="Windows" /> für Dich.
😉
Achja ich nutze IIS 6 und .NET 1.1
Original von plongo
Sezte ich web.Config
<identity impersonate="true" /> erhalte ich die Ausgabe1. PSH1\Andreas 2. PSH1\Andreas 3. PSH1\Andreas
jetzt kann ich doch davon ausgehen das er mit meiner Identität arbeitet. Arbeite der Email-Versand über NTLM + Zugriff auf eine Dateim im Netzwerk klappt net, ausser ich setzte mein Account im identity Element.
Ja, eigendlich sollte das jetzt funktionieren. Bei mir lokal tut es das auch - keine Ahnung, warum Du im Netzwerk damit Probleme hast.
Kannst ja noch mal was in der Art versuchen
using System.Security.Principal;
...
WindowsImpersonationContext context = this.User.Identity.Impersonate();
// Der Code, der die Rechte benötigt...
context.Undo();
So kannst du das im Code ein- und ausschalten.
Grüsse
tja mir gehen mittlerweile die Ideen aus
hab nochmal folgendes probiert
<script language="vb" runat="server">
Sub Page_Load()
Dim context As System.Security.Principal.WindowsImpersonationContext = CType(User.Identity, System.Security.Principal.WindowsIdentity).Impersonate()
response.write("1. " & User.Identity.Name & "<br />")
response.write("2. " & System.Security.Principal.WindowsIdentity.GetCurrent.Name & "<br />")
response.write("3. " & System.Threading.Thread.CurrentPrincipal.Identity.Name & "<br />")
response.write(System.IO.File.Exists("\\spsdat\ps\OrgBer\Marketing\Interne Kommunikation\Anhänge\neue_mitarbeiter.doc"))
'// Der Code, der die Rechte benötigt...
context.Undo()
End Sub
</script>
Ergebnis:
Ich habe ehrlich gesagt keine Ahnug mehr, was ich nach alles machen kann, soll, muss. Wohl oder übel muss ich alles über meine Account laufen lassen. Es zwar die die feine lösung, aber was bleibt mir anderes übrig?
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
@Cord
Hast du bei deiner Win-Auth. noch irgendwas bestimmes eingestellt? Ausser IIS, web.config?
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
hilft vielleicht die seite noch weiter??
http://de.gotdotnet.com/quickstart/aspplus/doc/windowsauth.aspx
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Neee, habe ich nicht.
Es ist mir schleierhaft, warum das so nicht hinhaut, weil es doch eigendlich (logisch gesehen) keinen Unterschied zwischen den zwei Lösungen gibt, vor allem, da Du denselben Account verwendest.
...keine Ahnung, was da jetzt noch intern abläuft, wodurch die Lösung mit dem eingetragenen username und pwd hinhaut und das andere nicht.
???
ich müsste es vielleicht mal auf einen anderen Testsystem ausprobieren....
Das mach ich vielleicht mal auf meiner lokalen Win XP Maschine....
Hmm naja ich weiss jetzt auch nicht mehr weiter..... Micht wunderst es auch warum er dort diese Probleme hat.... Aber solange werde ich eben mit meinen Account arbeiten müssen
trotzdem danke ich euch füre eure hilfe
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de
Original von plongo
Hallo,du bist doch auch im
> tätitg? Dein Nickname kommt mir doch bekannt vor!
Salü Andreas
Du.. hier? 😁
Cord wirst du wohl noch wiedererkennen (früher Chief Browdie), unser .NET Guru im ASP Forum 😉
Gruss Peter
--
Microsoft MVP - Visual Developer ASP / ASP.NET, Switzerland 2007 - 2011
hi Peter 😄,
man das Inet ist aber klein....
ja ich habe vorkurzem auch privat mit C# angefangen zu programmieren. Deshalb habe ich mich vorgestern hier mal angemeldet.
Und da mir leider keiner im aspforum.de helfen konnte zu diesem Thema, dachte ich vielleicht hier.
Chief Browdie sag mir auch was. Hab auch im Mitglieder-Bereich gesehen das Cord... dort registriert ist.
Bis nachher dann 😁
Gruss plongo
Woher soll ich wissen, was ich denke, bevor ich höre, was ich sage!
Kurzum: Läufer sind gesünder, "gescheiter" und glücklicher als Nichtläufer.
www.andreas-nicole.de