• 1399/03/07

ارور 405 در ریدایرکت به LogOut :

با سلام و سپاس از زحمات بی دریغ استاد بزرگوار

 

وقتی پسورد را عوض میکنیم، قصد signOut را دارم که وقتی مستقیما کدهای نوشته شده در جلسه 5 را میذارم که بعد از تغییر پسورد LogOut بشه هیچ مشکلی نیست. اما وقتی برای حذف کدهای تکراری به اکشن متد LogOut ریدایرکت میکنم ارور 405 میده . این متد مربوط به خروج از حساب کاربری می باشد که جناب عالی فرمودین ( و البته یک دکمه/فرم برای خروج گذاشتین و نه یک لینک معمولی)

        [HttpPost]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> LogOut()
        {
            await _signInManager.SignOutAsync();
            return RedirectToAction("Index", "Home");
        }

و اینم بازگشتی متد تغییر پسورد من : 

...
 return RedirectToAction("LogOut");
 ...

و لی بجای خروج کاربر و نمایش صفحه خانه ارور 405 میده . این ادرس در ادرس بار ظاهر میشه:

https://localhost:44329/Account/LogOut

ولی اگر مستقیم کدهای زیر را تکراری بنویسم مشکلی نداره :

.  .  .
await _signInManager.SignOutAsync();
return RedirectToAction("Index", "Home");
.   .   .

 

 

  • 1399/03/07
  • ساعت 15:07

سلام عزیز.

بله فرم هستش به جای لینک، چون مایکروسافت پیشنهاد داده از فرم استفاده کنیم.

لینک نمونه Identity : لینک

چون که متود به صورت HttPost هست خطا میده. میتونید به صورت جدا SignOut رو بنویسید مشکلی نداره.

یه نگاهی هم به نمونه همین اکشن متودی که میخواین بسازین بندازین خالی از لطف نیست:  لینک


logo-samandehi