2013-06-20 2 views
0

Интересно, может ли официальный способ или взломать доступ к окнам пользователя, который в настоящее время зарегистрирован на веб-странице asp с опцией «разрешить анонимным пользователям»? Или, возможно, с помощью импортированных окон dll?Как получить имя пользователя входа Windows на веб-страницу asp?

Я знаю, что обычно с «запретом анонимных пользователей» я могу легко получить окна входа в систему. Но по какой-то особой причине я хотел бы получить вход в Windows и принять анонимных пользователей. Так что, если вход в Windows является пользователем в моей базе данных, я перенаправляюсь на другую веб-страницу.

Я ckecked, что: (а windowsLogin == всегда пусто)

Asp- C#

string windowsLogin = System.Security.Principal.WindowsPrincipal.Current.Identity.Name; 
string windowsLogin = System.Threading.Thread.CurrentPrincipal.Identity.Name; 
string windowsLogin = System.Net.CredentialCache.DefaultCredentials.ToString(); 
string windowsLogin = Request.ServerVariables["LOGON_USER"].ToString(); 

Web.config

<authorization> 
     <deny users ="?" /><!-- Deny acces to anonymous users--> 
     <allow users ="*" /><!-- Allow acces to every users--> 
    </authorization> 
    <identity impersonate="true"/> 
    <authentication mode="Forms"> 
     <forms loginUrl="./WebLogin.aspx" defaultUrl="./default.aspx" timeout="12" path="/" name=".ASPXFORMSAUTH" slidingExpiration="true" /> 
    </authentication> 
+0

Это не имеет ничего общего с классическим ASP - св .net вопрос – John

+0

Спасибо за комментарий, я добавил тег сеть. –

ответ

0

Вам нужно анонимные пользователи, похоже, и вы можете попробовать проверить подлинность Windows.

<authorization> 
    <allow users ="*" /><!-- Allow acces to every user and do not deny anonymous --> 
</authorization> 
<authentication mode="Windows" /> 

Кажется ServerVariables было обесценился на C# в некоторых случаях.

Если да, то вы должны будете сделать это следующим образом:

string login = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

Если вы действительно хотите использовать ServerVariables, имейте в виду, что они чувствительно к регистру в C#. Правильный корпус почти всегда ВЕРХНИЙ, а вот их список:

List of ServerVariables

Смежные вопросы