我正在使用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();
}
在注销后禁用所有后退按钮,如果我登录并切换到不同的页面,它也会禁用后退按钮。我只需要在每次退出后都禁用它。
请为此建议解决方案。
答案 0 :(得分:0)
当您注销会话时会破坏。在会话未使用时禁用后退按钮。会话在用户登录时设置,当时启用后退按钮。我不知道这会对你有帮助吗?
答案 1 :(得分:0)
这是一篇关于会话"Web security" works pretty simple with ASP.NET MVC 4
的文章重点是,使用属性[Authorize]
可以保护Controller,因此如果用户注销了。服务器将拒绝这些页面的请求。
我希望这会有所帮助。
答案 2 :(得分:0)
在注销页面后使用以下代码。
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);