当用户在MVC Razor中注销后按下“后退”按钮时,如何阻止身份验证

本文关键字:按钮 后退 身份验证 何阻止 MVC 用户 Razor 注销 | 更新日期: 2023-09-27 18:23:52

我已经在我的GET方法中编写了防止用户身份验证的代码,如下

if (!string.IsNullOrEmpty(Session["UserName"].ToString()))
            {
                MyConnection mycon = new MyConnection();
                string str = "";
                int res = 0;
                if (Request.QueryString.ToString().Contains("ID1"))
                {
                    str = "Delete from PostTable where PostID=" + Request.QueryString["ID1"];
                    res = mycon.IODPost(str);
                }
                return View(AllPostList());
            }
            else
            {
                return RedirectToAction("Home", "Home");
            }

但当我在注销后按浏览器中的"后退"按钮时,页面会回发到上一页,这是无法完成的。。那么我该怎么做才能防止这种情况发生呢?

当用户在MVC Razor中注销后按下“后退”按钮时,如何阻止身份验证

因此在您的示例中存在一些不好的做法。

  1. 注意sql注入-使用ADO.NET SqlCommand和SqlCommandParameter类创建查询。

  2. ASP MVC具有像[Authorized]、[AllowAnonymous]这样的属性,可以为每个请求指导应用程序工作流。您可以在控制器级别或方法级别添加这些。

  3. 再次检查"会话["用户名"].ToString()"是否为空

一些链接:

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.parameters.aspx

http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v=vs.108).aspx#using_authorizeattribute

希望这对有帮助