ASP.net(C#.net4を使用)で、ユーザーがログインして個人情報(PI)を追加、編集できる小さなポータルを作成しています。しかし、特定のユーザーがログインしているときに、ページに情報(SQLサーバーDBに格納されている)をロードする方法がわかりません。
例:サムがログインしている場合、彼は自分のPIを表示できます。Vickyがログインすると、PIを表示できます。
誰がこれを手伝ってくれる?
前もって感謝します。
ASP.net(C#.net4を使用)で、ユーザーがログインして個人情報(PI)を追加、編集できる小さなポータルを作成しています。しかし、特定のユーザーがログインしているときに、ページに情報(SQLサーバーDBに格納されている)をロードする方法がわかりません。
例:サムがログインしている場合、彼は自分のPIを表示できます。Vickyがログインすると、PIを表示できます。
誰がこれを手伝ってくれる?
前もって感謝します。
ログインしたユーザーのIDをセッション変数に保持し、それを使用して、各ユーザーの情報を取得するためのクエリをフィルタリングする必要があります。
したがって、ユーザーのIDが278の場合、クエリは次のように実行されます。
SELECT first_name, last_name, * FROM user_table WHERE user_id = 278
次のように格納されたセッション変数から:
Session["UserId"] = currentUserId;
ASP.NETメンバーシッププロバイダーは、すでにこれを処理しています。使用を検討しましたか?定義したすべての認証、権限、ロール、およびアクセス/編集プロファイル情報を管理できます。メンバーシップオブジェクトを介してデータにアクセスします。これを行うためにSQLを1行書く必要はありません。車輪の再発明を試みる代わりに、作業の負荷を節約できます。
他の回答で説明されているように、通常のメンバーシップを使用してください。次に、プロファイルシステムを活用して、各ユーザーがログイン時に自分の情報を表示/編集できるようにします(質問ごと)。警告:ASP.NETプロファイルシステムは、Webサイトプロジェクトテンプレートを使用した状態でのみ機能します。Webアプリケーションプロジェクトテンプレートを使用する場合は、次の手順に従います。
ASP.NET:WebサイトとWebアプリケーションプロジェクト
プロファイルを起動して実行すると、ユーザーがログインしている間、プロファイルデータをセッションオブジェクトに保存できます。