Я пытаюсь создать логин на частичном вид без необходимости обновления всего браузера, когда кто-то входит в.Войти в частичном не работают
Контроллер Логина отлично работает, а также выбирает хорошо парциальной Посмотрите, что это должно быть показано позже. Проблема в том, что этот частичный вид не обнаруживает, что пользователь зарегистрирован.
Если я обновляю сеть (F5), я вижу, что пользователь, как я уже сказал, хорошо зарегистрирован.
Controler:
[AllowAnonymous]
public ActionResult Login() {
return PartialView("_Login");
}
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl) {
if(ModelState.IsValid) {
if(WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe.Value)) {
return PartialView("LogOnPartialView", "Shared");
}
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
return View(model);
}
Частичный вид _login
@using (Ajax.BeginForm("Login", "Account", new AjaxOptions { HttpMethod = "POST", UpdateTargetId = "loginControl" }))
{
@Html.AntiForgeryToken()
<div class="form-field">
@Html.EditorFor(m => m.UserName)
@Html.ValidationMessageFor(m => m.UserName)
</div>
<div class="form-field">
@Html.EditorFor(m => m.Password)
@Html.ValidationMessageFor(m => m.Password)
</div>
<input type="submit" value="Login" />
}
Частичный вид LogOnPartialView
@if (HttpContext.Current.User.Identity.IsAuthenticated)
{
<div>user is logged</div>
}
else
{
<div>user is NOT logged</div>
}
@if(!Request.IsAuthenticated)
{
@Html.ActionLink("Registro", "Register", "Account")
@: |
@Ajax.ActionLink("Login", "Login", "Account", new AjaxOptions { UpdateTargetId = "Login" })
}
else
{
@: Welcome <b>@User.Identity.Name</b>!
@: |
@Html.ActionLink("Logout", "LogOff", "Account")
}
Может кто-нибудь помочь мне с этим, пожалуйста?
попробовать 'User.Identity.IsAuthenticated' вместо' HttpContext.Current.User.Identity.IsAuthenticated'? –
Оба одинаковые. На всякий случай я пробовал, и он до сих пор не работает. Тай так или иначе. –
Немногие разработчики используют пользовательский 'IdentityPrinciple', так что просто проверяли удачу, если это было в вашем приложении ... это режим формы аутентификации? –