Probleme mit Request.ServerVariables("LOGON_USER")

von Michael Bender » Mittwoch, 30. Juli 2003



Hallo,

wir haben eine Intranet-Anwendung in ASP geschrieben, die in einer
Intranet-Umgebung läuft. Auf diese greifen User aus diversen europäischen
Ländern zu. Damit sich die Anwender nicht anmelden müssen greifen wir die
NT-Anmeldung mit 'Request.ServerVariables("LOGON_USER")' ab, vergleichen den
Benutzernamen und die Domäne mit einer User-Tabelle in einer Datenbank und
gewähren dann Zugriff auf das Programm oder eben nicht. Dies funktioniert
auch eigentlich. In letzter Zeit trat aber das Problem auf, dass Anwender im
Programm unter "falschem" Namen angemeldet waren. Also konkret war z.B der
Benutzer "mmeier/domain1" als Benutzer "lmueller/domain2" angemeldet. Meldet
sich der Anwender erneut an, ist er wieder gemäß seines NT-Accounts richtig
angemeldet.
Kennt jemand dieses Phänomen und weiss Lösungsansätze?

Vielen Dank für Eure Hilfe.





Probleme mit Request.ServerVariables("LOGON_USER")

von Michael Bender » Montag, 13. Oktober 2003



Hallo,

wir haben eine ASP-Anwendung geschrieben, in der sich Anwender nicht erneut
anmelden müssen, sondern über Request.ServerVariables("LOGON_USER") die
Anmeldung abgefragt wird und gegen eine DB-User-Tabelle abgeprüft wird. Dies
funktioniert auch soweit. Eine Besonderheit ist, dass einige User mehrere
Rollen ausfüllen können und wir diese deswegen auf eine Seite leiten, auf
der sie dann auswählen können als welcher Benutzer sie die Applikation
nutzen möchten. Dies funktioniert auch "eigentlich". Vereinzelt scheint es
so zu sein, zumindest ist dies unsere Vermutung, dass die
Request.ServerVariables("LOGON_USER") nicht weitergeleitet wird. Dies dürfte
aber nicht an unserem Anmeldeskript liegen, sondern an einer client-seitigen
Einstellung. Meldet man den Anwender, bei dem es nicht funktioniert hat an
einem Rechner, an dem es funktioniert an, gelingt dort die Anmeldung. Meine
Frage lautet nun, ob jemand dieses Problem kennt und evtl. eine Lösung weiß.
Anbei poste ich auch mal das Anmeldeskript:

Anmledeskript:
'---------------------------------------------------------------------------
------------------------

'**** automatischer Login bei eingetragenem NT-User

If Request.ServerVariables("LOGON_USER") = "" then
Response.Status = "401 Unauthorized"
Response.End
End If


if session("userid") = "" then
If Request.ServerVariables("LOGON_USER") = "" then
url = "error.htm"
response.write("<script>" & vbCrLf)
response.write("parent.parent.location.replace('" & url & "');")
response.write(vbCrLf & "</script>")
else
login = CStr(Request.ServerVariables("LOGON_USER"))
var1 = Instr(1,login, "\")
name1 = mid(login, var1+1,100)

SQL = "Select ID, usernum from Tbl_user where ID = " & "'" & name1 & "'" &
" and active = -1"
set rs=getrecord(sql)

name1 = ""
var1 = ""

if rs.eof then
url = "error.htm"
response.write("<script>" & vbCrLf)
response.write("parent.parent.location.replace('" & url &
"');")
response.write(vbCrLf & "</script>")
else
multi1 = rs.recordcount
Session("userID") = rs("ID").value
if cint(multi1) > 1 and session("usernum") = "" then
rs.close
set rs = nothing
url = "multiuser.asp"
response.write("<script>" & vbCrLf)
response.write("parent.parent.location.replace('" & url & "');")
response.write(vbCrLf & "</script>")
else
Session("userID") = rs("ID").value
session("usernum") = rs("usernum").value
Session("Login") = True
rs.close
set rs = nothing

SQL = "Select UserID, logdate, logtime from tbl_log where UserID = 'x'"
set rs=getrecord(sql)
rs.addnew
rs("UserID").value = session("userID")
rs("Logdate").value = date()
rs("logtime").value = time()
rs.update
rs.close
set rs = nothing
end if
end if
End If
end if


'---------------------------------------------------------------------------
---------------------------

Vielen Dank für Eure Hilfe.





Re: Probleme mit Request.ServerVariables("LOGON_USER")

von Matthias Lippmann » Montag, 13. Oktober 2003



Hallo Michael,


[...]

siehe hier:
Warum wird bei einigen Usern die Variable
Request.ServerVariables("Logon_User") nicht ausgelesen?
http://www.aspgerman.com/aspgerman/faq/Allgemein/00008.asp

--
Mit freundlichen Grüßen / Best Regards

Matthias Lippmann
Lippmann, Soldan und Partner
http://www.lippmann-soldan.de




Re: Probleme mit Request.ServerVariables("LOGON_USER")

von Michael Bender » Montag, 13. Oktober 2003



Hallo,

also die Deaktivierung der anonymen Anmeldung hat leider nichts gebracht.
Schade eigentlich, hätte so gut gepasst. Muss der IIS neu gestartet werden,
damit diese Einstellung aktiv wird?

Gruß
Michael



"Matthias Lippmann" < XXXX@XXXXX.COM > schrieb im

Hallo Michael,



erneut
[...]

siehe hier:
Warum wird bei einigen Usern die Variable
Request.ServerVariables("Logon_User") nicht ausgelesen?
http://www.aspgerman.com/aspgerman/faq/Allgemein/00008.asp

--
Mit freundlichen Grüßen / Best Regards

Matthias Lippmann
Lippmann, Soldan und Partner
http://www.lippmann-soldan.de





Re: Probleme mit Request.ServerVariables("LOGON_USER")

von Olaf Lüder [MVP] » Dienstag, 14. Oktober 2003



Hallo Michael,




Automatische Anmeldung (in der Intranetzone) ist im IE aktiviert?

--
Gruß, Olaf
MS MVP ASP / ASP.NET



Re: Probleme mit Request.ServerVariables("LOGON_USER")

von Michael Bender » Dienstag, 14. Oktober 2003



Ja, die automatische Anmeldung ist aktiviert. Wir haben alle Einstellungen
(unter den Reitern "Sicherheit" und "Erweitert") des Internet Explorers bei
dem Rechner, bei dem es nicht funktioniert mittlerweile mit einem Rechner,
auf dem die Anmeldung gelingt, abgeglichen.





gebracht.





If you have any questions, you can contact us: admin#mofeel.net     Spam Report