Başlığı ASP.NET MVC'deki Forms Authentication ile sarmaya çalışıyorum. Benim durumumda MVC 5 benim özel durumumda.AuthorizeAttribute/Account/Login'e yönlendirmeyi sürdürüyor
Uygulamam şifreler kullanmıyor, sadece kullanıcı adı olarak bir e-posta adresi.
Login
yönteminde hata ayıklama yaparken, modelin geçerli olduğunu ve (özel) MembershipProvider
kullanıcı tarafından beklendiği gibi doğru olduğunu görebiliyorum.
Daha sonra sağlanan returnUrl
yönlendirir (sınama amacıyla, bir AuthorizeAttribute
on/Home/About var).
Maalesef hemen geri dönüp Login
görünümüne geri dönüyorum. Bu nedenle, tüm sürecin temel bir öğesinin eksik olduğunu görüyorum (ve ek olarak, tüm auth/auth işlemine temel bir bakış açısı atıyorum). nadiren onunla oynayın).
Girişi yöntemi:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
{
if(ModelState.IsValid && Membership.ValidateUser(model.Email, ""))
{
FormsAuthentication.SetAuthCookie(model.Email, model.RememberMe);
if (Url.IsLocalUrl(returnUrl))
{
return RedirectToLocal(returnUrl);
}
else
{
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "Email address unknown");
}
return View(model);
}
LoginViewModel:
public class LoginViewModel
{
[Required]
[Display(Name = "Email")]
[EmailAddress]
public string Email { get; set; }
[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }
}
Web.config ilgili kısmı:
<system.web>
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
</system.web>
Ne görmüyorum? Nereye bakmalıyım?
Hiçbir uzman (hiç) değilim, ama sizin kodu atlama yaparken, görünüm modeli geçerli hale gelmez –
yapılır? Bunun dışında bir yetkilendirme özniteliği yerine IsAuthorised'i kullanırdım. – jbutler483
@ jbutler483 evet, eğer yapmadıysa, herhangi bir yönlendirme olmazdı. –