繁体   English   中英

我面临注销时禁用浏览器后退按钮的问题

[英]I am facing issue of disabling browser back button on logout

我正在使用mvc4,并且遇到注销后禁用后退按钮的问题,注销链接位于_Topheader视图上,我在此处编写了javascript代码,

<a href="/Account/LogOff" onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">Logout
</a>
<script type="text/javascript">
   window.history.forward();
   function noBack() { 
     window.history.forward(); 
   }

这将在注销后禁用所有后退按钮,并且如果我登录并切换到其他页面,在这里也将禁用后退按钮。 我不需要在每次退出后都禁用它

请提出解决方案。

当您注销会话时将销毁。 不使用会话时禁用后退按钮。 会话在用户登录时设置,当时启用了后退按钮。我不知道这对您有帮助吗?

这是一篇文章,讲解“ Web安全性”会话如何与ASP.NET MVC 4一起工作非常简单

要点是,使用属性[Authorize]可以保护Controller,从而保护用户(如果用户已注销)。 服务器将拒绝对这些页面的请求。

我希望这有帮助。

注销页面后使用以下代码。

 function DisableBackButton() {
        changeHashOnLoad()
    }
    DisableBackButton();
    window.onload = DisableBackButton;
    window.onpageshow = function (evt) { if (evt.persisted) DisableBackButton() }
    window.onunload = function () { void (o) }
    function changeHashOnLoad() {
        window.location.href += "#";
        setTimeout("changeHashAgain()", "50");
    }
    function changeHashAgain() {
        window.location.href += "1";
    }
    var storedHash = window.location.hash;
    window.setInterval(function () {
        if (window.location.hash != storedHash) {
            window.location.hash = storedHash;
        }
    },
    50);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM