Есть ли лучший и / или более простой способ выйти из системы? - PullRequest
0 голосов
/ 03 марта 2009

Вот ситуация:

  1. Пользователь входит в систему через имя пользователя / пароль, хранящиеся в базе данных MSSQL
  2. Если пользователь прошел аутентификацию, система создает переменную сеанса с именем пользователя / паролем SHA1 и логическим значением, если пользователь вошел в систему или нет (для последующих страниц)
  3. Мне нужно иметь возможность уничтожить переменную сеанса. Я тоже хочу окно подтверждения.

Это то, что я имею до сих пор:

<script type="text/javascript">
    //<![CDATA[
    function doLogout() {
        try {
            var conf = false;
            conf = confirm("Really log out?");
            if (conf === true) {
                $.post("logout.aspx");
            }
        } catch (ex) {
            alert(ex);
        }
    }
    //]]>
</script>

Поскольку запрос ajax не перезагружает страницу (функциональность работает нормально, запрос разрушает сеанс), я думаю, что для этого нужен другой подход. Я действительно хотел бы иметь возможность делать все это в ASP.NET, если это возможно.

Любое решение приветствуется, если выполняется # 3 выше.

1 Ответ

1 голос
/ 03 марта 2009

Ну, для начала ваше решение зависит от того, есть ли у пользователя Javascript, и если он этого не сделает, он не сможет выйти из системы. Я не думаю, что вы должны использовать AJAX для этого, просто простая ссылка / кнопка для logout.aspx была бы в порядке, которая могла бы затем правильно перенаправить их на домашнюю страницу с установленным состоянием выхода из системы. Вы можете использовать ненавязчивый Javascript для добавления подтверждения.

jQuery версия (так как вы упомянули это):

<a href="logout.aspx" id="logout-link">Logout</a>
<script type="text/javascript">
    //<![CDATA[
    $(document).ready(function() {
        $('#logout-link').click(function () {
            return confirm("Really log out?");
        });
    });
    //]]>
</script>

версия с чистым Javascript:

<a href="logout.aspx" id="logout-link">Logout</a>
<script type="text/javascript">
//<![CDATA[
window.onload = function() {
     if(!document.getElementById) return;
     document.getElementById('logout-link').onclick(function() {
         return confirm("Really log out?");
    });
}
//]]>
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...