У меня есть страница входа в систему, и это вызывает следующий обработчик события:Получить информацию о подлинности пользователя (не имя компьютера)
protected void Login1_Authenticate(object sender, AuthenticateEventArgs e)
{
if (Login1.UserName == "abc" && Login1.Password == "1234"){
if (Request["ReturnUrl"] != null)
{
FormsAuthentication.SetAuthCookie(userName, false, "AdminPart/AdminHome.aspx");
FormsAuthentication.RedirectFromLoginPage(userName, Login1.RememberMeSet);
}
else
{
FormsAuthentication.SetAuthCookie(userName, false, "AdminPart/AdminHome.aspx");
Response.Redirect("HomePage.aspx");
}
}
}
И мой файл web.config, как это:
<system.web>
<authorization>
<deny users="?" />
</authorization>
сейчас , Я пытаюсь получить имя пользователя аутентифицированного пользователя в моем HomePage.aspx.cs, но User.Identity.Name
возвращает имя моего компьютера. Я пытался добавить следующий код в файл конфигурации:
<authentication mode="Forms">
<forms loginUrl="~/login.aspx" timeout="10" protection="All"></forms>
</authentication>
Но проблема снова произошла с линией <authentication mode="Forms">
. После того, как я добавлю эту строку, в моей домашней странице IDE предоставила мне предупреждение для первой строки, начинающейся с <% Page ... %>
, что будет ошибка времени выполнения.
Я использовал HttpContext.Current.User.Identity.Name
, не работает тоже. Я просто пытаюсь получить имя аутентифицированного пользователя в разных частях проекта. Поэтому я могу изменить логику, если придется. Любая помощь будет оценена по достоинству.
Редактировать: Я использую Visual Web Devepoler 2008 Express, в Windows 7 (64-разрядная версия).
EDIT2: Неполаженная проблема как-то. Ответ ниже. Как? Зачем? Нельзя ли это сделать программно? Я не знаю, и я хочу знать, почему.
User.Identity.Name может быть пустым, если анонимная аутентификация включена в IIS. Каков результат этого «User.Identity.IsAuthenticated»? –
Это правда. Но что-то совершенно неудобное, я обновляю сообщение сейчас. – mtyurt
Поскольку моя репутация низкая, у меня есть 2 часа, чтобы ответить на мой вопрос. До этого я редактировал вопрос. – mtyurt