Я использую 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();
}
который отключает всю кнопку "Назад" после выхода из системы, а также в случае, если я вхожу в систему и переключаюсь на разные страницы, здесь также отключается кнопка "Назад". Мне нужно только отключить его после LOg не каждый раз.
Пожалуйста, предложите решение для этого.
используйте следующий код после выхода из системы.
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);
Вот статья о том, как сеанс "Web-безопасность" работает довольно просто с ASP.NET MVC 4
Главное, с атрибутом [Authorize]
вы можете защитить контроллер, поэтому, если пользователь выходит из системы. Сервер отклонит запросы на эти страницы.
надеюсь, это поможет.
Когда вы покинете сеанс, он уничтожит. Отключите кнопку "Назад", когда сеанс не используется. Сессия становится установленной при входе пользователя в систему, в это время активирует кнопку возврата. Я не знаю, поможет ли это вам?