1

そのように呼び出すことができる場合、ここに私の問題があります。asp.net mvc 2.0 でカスタム メンバーシップ プロバイダーを使用して認証を実装しました。すべて正常に動作しますが、1 つの問題があります。 MSSQLのデータベースを介して、ユーザーを検証し、FormsAuthenticationを渡して使用して、UserNameのみをプロファイル情報として設定します。

しかし、そのユーザーが自分だけに属し、ユーザーが作成した他のアイテムと一緒にリストできる新しいアイテム(販売用など)を作成したい場合、このユーザー名を(FormsAuthenticationで)使用してデータベースでチェックし、そのアイテムを接続します外部キーを持つ適切なユーザーですが、ユーザー名が一意の場合は機能するため、データベーステーブル「ユーザー」のID列などの追加情報を保存して後で使用する必要があるため、ユーザーの追加情報を保存する最も安全で「ベストプラクティス」の方法は何ですか前述のユーザー名はデータベース内で一意である必要があり、ログに記録されたユーザーに関する十分な情報ではないため、後で使用します。

4

1 に答える 1

2

セッションに User オブジェクト (またはその他の追加情報) を保存できませんでしたか? またはクライアント側でCookieを使用しますか(ユーザーがブラウザを閉じた後でもログイン状態を保持する必要がある場合など)?具体的な例が必要な場合はお知らせください。

編集: コメントを読んだ後、「安全な Cookie」ソリューションを探している場合は、これをご覧ください: http://www.codeproject.com/Articles/13665/HttpSecureCookie-A-Way-to-Encrypt-Cookies- with-ASP

ユーザーのID(彼のIDのみ)を保存するために使用します。この Cookie を取得すると、ID を指定してユーザーを読み込みます。一部のメモリ内キャッシュにより、リクエストごとにユーザーをロードすることを回避できます。

ただし、セッションオブジェクトはあなたがやろうとしていることに対して優れているように見えることを明確にしたかっただけです+セキュリティについて心配する必要はありません(つまり、平均的なアプリの場合)。

于 2012-02-08T22:40:36.183 に答える