Kullanıcıların parolalarının süresi dolduğunda Parolayı Değiştir sayfasına yönlendirmem gerekiyor.Bir isteği yeniden yönlendirebilecek bir kontrol yerleştirmeliyim?
Bu kodu herhangi bir isteğin değişiklik parolası sayfasına yönlendirilebilmesi için tek bir yere yerleştirmek istiyorum.
AuthorizeAttribute'u genişletmeyi ve OnActionExecuting'i geçersiz kılmayı inceledim, ancak parola değiştirme sayfasına yönlendirmek için yönlendirme mantığını kısa devre yapmam için bana izin verin.
biraz fazla açıklama için, mantık şöyle olacaktır:
Yetkisiz istek:
-> herhangi bir URL'yi -> AuthorizeAttribute -> Login.aspx -> ChangePassword.aspx
Yetkili isteği -> parolasının süresi :
-> herhangi bir URL ->??????? -> ChangePassword.aspx
Bu onun ???? Ne yapacağımı bilemediğim kısım.
Sanırım AuthorizeAttribute'ı genişletmeyeceğim. Parola değiştirme denetleyicisi yöntemlerini dışındaki her yerde kullanacağım .
Bu, esasen gittiğim şey. – Will
Bunun eski bir cevap olduğunu biliyorum, bu yüzden bunu eklemeliyim (en azından MVC3 için) filterContext.HttpContext.Response.Redirect ("~/Account/ChangePassword? Reason = süresi doldu"); 'ile değiştirilmelidir filterContext.Result = new RedirectResult ("~/Hesap/ChangePassword? reason = süresi doldu"); '(Şu adrese bağlı olarak: http://stackoverflow.com/a/2187364/700926 ve http://stackoverflow.com/a/2765148/700926) –