Csharp/C#教程:MVC 4 – LogOff控制器操作,找不到404分享


MVC 4 – LogOff控制器操作,找不到404

我刚刚结束了一个大学项目,我不确定我是否一直盯着我的电脑太长时间并且遗漏了一些显而易见的东西,但是当我尝试将用户注销时,我得到了404而不是找到URL /帐户/ LogOff。

我有一个导航栏,显示登录/注销,具体取决于用户是,登录还是注销:

 

在我的帐户控制器中,Internet模板附带的默认LogOff操作:

 [HttpPost] [ValidateAntiForgeryToken] public ActionResult LogOff() { WebSecurity.Logout(); return View("Index"); } 

有人能告诉我为什么会发生这种情况 – 在我将笔记本电脑靠在墙上之前。 干杯。

您使用链接( tag)注销,当用户单击它时会导致HTTP GET请求,但您的操作仅限于提供POST请求(因为它使用[HttpPost]属性修饰)。

您需要将链接放入表单并生成POST请求,或者从您的操作中删除[HttpPost][ValidateAntiForgeryToken] (归功于GalacticCowboy)。

由于注销修改服务器状态,我不会删除[HttpPost]和[ValidateAntiForgeryToken]而是我将使用以下内容替换链接(锚标记)

 @using (Html.BeginForm("Log Out", "Account", FormMethod.Post, new { id = "logoutForm" })) { @Html.AntiForgeryToken() Log Out } 

我在遗留应用上遇到了这个问题。 我修复它的方法是检测提供的返回Url是’/ Account / LogOff’并相应地采取行动。 从’AccountController.cs’文件,’登录’方法:

上述就是C#学习教程:MVC 4 – LogOff控制器操作,找不到404分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 if (returnUrl == "/Account/LogOff") { return this.RedirectToLocal(null); } else { return this.RedirectToLocal(returnUrl); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1007761.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐