0

ユーザー セッション管理について混乱しています。2010 Express と VB を使用しています。

ユーザー名とパスワードをデータベースとストアドプロシージャに送信し、ユーザーが有効かどうかをブール値で返す関数があります。

ユーザーが有効かどうかの私の質問は、どのようにセッションを開始しますか。msdnのドキュメントに従って、Cookieを自動およびセッションインプロセスに設定しました。

では、関数が true を返した場合、セッションを開始するにはどうすればよいでしょうか?

では、これを行うために呼び出す .net クラスとメソッドは何ですか。私は、ほとんどが事前に構築された MS ログイン ソリューションを使用していると思います。そのため、回答を得るのに苦労しています。

4

1 に答える 1

1

セッションは、web.config ファイルで構成すると、ASP.NET で自動的に開始されます (これは既に行っていると思います)。プロジェクトの Global.asax ファイルに移動 (または追加) して、セッションの作成後に追加のコードを実行します。(注: これは、ログインがあったという意味ではありません。セッションは自動的に作成されます。)

非常に原始的な方法で、ログイン情報を Session オブジェクトに格納できます。

' check login credentials
Public Sub Login(user As String, pwd As String)
    Dim authenticated As Boolean = False
    ' db authentication check here
    If authenticated Then
        HttpContext.Current.Session("authenticated") = True
    Else
        Throw New Exception("not authenticated!")
    End If
End Sub

' logout user
Public Sub Logout()
    HttpContext.Current.Session("authenticated") = False
End Sub

' check if user is logged in
Public Function IsAuthenticated() As Boolean
    Return HttpContext.Current.Session("authenticated") = True
End Function

しかし、述べたように、これは非常に単純です。この例のようなセッション管理手法を使用することをお勧めします。

于 2012-10-25T10:08:28.257 に答える