Я пытаюсь запустить этот код:
File.WriteAllText(FilePath + Description + "-" + ID + ".txt", FileContent);
Но не могу, если я не выдаю себя за пользователя. В моем файле web.config для олицетворения установлено значение true, если я установил учетные данные там, эта строка кода работает, как ожидалось.
<identity impersonate="true" userName="domain\username" password="password" />
Это не работает:
<identity impersonate="true" />
Когда Я запускаю этот код:
System.Security.Principal.WindowsIdentity.GetCurrent()
Я вижу, что он заполнен с правильным именем пользователя и для олицетворения установлено значение true
.
Итак, почему эта строка кода не работает , когда мой пользователь может выдать себя за другого?
File.WriteAllText(FilePath + Description + "-" + ID + ".txt", FileContent);
ПОЖАЛУЙСТА, ПОМОГИТЕ!
ОБНОВЛЕНИЕ
Это мой метод входа, который я использую для входа в систему против активный каталог.
[HttpPost]
public ActionResult Index(Login model, string returnUrl)
{
if (!ModelState.IsValid)
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
return RedirectToAction("Index", "Home");
}
ModelState.AddModelError("", "The user name or password provided is incorrect.");
return View(model);
}