Я работаю над веб-приложением asp.net MVC4, и для входа в систему я использую проверку подлинности формы, которая подключена к нашей AD с использованием строки подключения LDAP, как показано ниже.Метод действия Get login: -
[AllowAnonymous]
public ActionResult Login(string returnUrl)
{
returnUrl = TempData["returnUrl"] != null ? TempData["returnUrl"].ToString() : String.Empty;
List<String> domains = new List<String>();
domains.Add("*****");
ViewBag.ReturnUrl = returnUrl;
ViewBag.Domains = domains;
return View();
}
Метод действия Login Post: -
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl)
{
MembershipProvider domainProvider;
domainProvider = Membership.Providers["TestDomain1ADMembershipProvider"];
if (ModelState.IsValid)
{
// Validate the user with the membership system.
if (domainProvider.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
List<String> domains2 = new List<String>();
domains2.Add("****");
ViewBag.Domains = domains2;
return View(model);
}
return RedirectToLocal(returnUrl);
}
List<String> domains = new List<String>();
domains.Add("****");
ViewBag.Domains = domains;
return View(model);
}
Теперь я использую эту систему в течение 5 лет и никогда не сталкивался с какими-либо проблемами при входе пользователя,но сегодня новый пользователь упомянул, что при попытке войти в систему он получит ошибку « Ошибка при обработке вашего запроса. », и эта ошибка возникнет в нашей системе, если обрабатывается необработанное исключениеподнял.и я проверил журнал IIS, и я вижу, что пользователь не получил доступ к системе.
поэтому единственная проблема, о которой я могу думать, это то, что пароль пользователя содержит символы, которые MVC не позволяет.Например, я попытался ввести этот пароль <script>@1234
вместе с моим именем пользователя, и вместо того, чтобы получить это сообщение " Указано неверное имя пользователя или пароль. ", я получил то же исключение " Ошибкапри обработке вашего запроса.".. конечно, я не могу попросить пользователя указать свой пароль, но я не уверен, как я могу позволить MVC принять любой пароль, переданный ему?поскольку я не могу думать ни о какой другой проблеме ... потому что обычно, когда пользователи входят в приложение, они тоже;авторизоваться успешно или получить «Неверное имя пользователя или пароль»., но я никогда не сталкиваюсь с проблемой, когда пользователь получает исключение ... которое я смог воспроизвести, передав небезопасные символы <script>@1234