2009-03-03 11 views
0

は状況です:ログアウトを行うより良い方法や簡単な方法はありますか?ここ

  1. ユーザーは、ユーザーが認証されている場合、システムはユーザ名/ SHA1'dのパスワードを使用してセッション変数を作り、場合ブール値MSSQLデータベース
  2. に格納されているユーザー名/パスワード経由でログインユーザーがログインしているかどうか(後続のページについて)
  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

あなたの解決方法は、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> 
+0

ありがとう!これは完璧に機能します。私は、私のjavascriptをブラッシュアップする必要がある、それは数年されている:P – Anders

関連する問題