DObrý den, mám aplikaci, která by dokázala fungovat mnohem lépe, kdyby znala NT jméno uživatele a počítač, ze kterého ten uživatel ASP.NET aplikaci spouští.Vím, že se tomuto tématu věnovaly některé jiné články, prošel jsem jich opravdu hodně, ale bohužel mi doporučované postupy neustále vrací buďto jméno serveru nebo jméno úplně jiného počítače, který má tu aplikaci taky zrovna spuštěnou. Uživatele (svůj login) nejsem v code behind (VB) schopen dostat vůbec. Při testování na localhostu se mi daří, po publikování na server to nefunguje. požívám windows autentication ve web.config mám
<identity impersonate="true"/>
<authentication mode="Windows"/>
pro zjištění jména uživatele jsem zkoušel krom jiného
LoggedUser = System.Environment.UserName
LoggedUser = Request.LogonUserIdentity.Name
což na localhostu vrací mého uživatele vč. domény, ale po publikaci na server vrací NT AUTHORITY\IUSR nebo něco podobného. Jméno počítače získávám pomocí
Private Sub GetPCName()
LocalPC = Dns.GetHostEntry(Request.ServerVariables("remote_addr")).HostName 'PC včetně cesty v síti
LocalPC = LocalPC.Substring(0, LocalPC.IndexOf(".")) 'pouze jméno PC
End Sub
na localhostu funguje, po publikaci na server vrací někdy jméno mého, někdy jméno jiného počítače (kolegy) ?! K tématu jsem za posledních 14 dní nenašel fungující odpovědi, pouze odkazy. Předem děkuji za odpovědi nebo upozornění, co bych mohl mít kde špatně.
|