0

問題の一般的な考え方は、特定のWebサイトで通常どのようにアカウントを作成するかを想像できる場合です。登録すると、実行するアクションは、サインインしたアカウントに対して行われます。サインインに複数のアカウントが含まれているが、ドロップダウンメニューで選択した個々のアカウントに固有のアクションを実行したいとします。

すべてのページはサイト全体で同じであり、アクションを完了する相手を選択できます。現在、実行する各アクションとともにユーザー名を投稿して、誰に対してアクションを完了するかを判断できるようにしています。しかし、誰かがこれをより良くし、はるかにクリーンな方法で同じ結果を達成する方法についていくつかのアイデアを持っているかもしれないと思いましたか?

現在私が行っているのは、各フォームの上部に選択ボックスを追加することだけです(ユーザーがナビゲートするとデフォルトにリセットされます。厄介です!)。ある種のヘルパーが最初にすべてのアクションをインターセプトしてユーザー名を追加するための良い解決策であるかどうかはわかりませんか?選択されたユーザー名(Cookieなど)の現在の状態をどこで維持する必要がありますか?一般的に、この問題に対してどのようなパートナーが最適であるかについて混乱しています。

どんなアイデアでも大歓迎です!

4

1 に答える 1

0

User.Identity.Nameでアクティブなユーザー名を取得するよりも、サーバー側でログイン状態を確認し、標準FormsAuthenticationを使用する最良の方法だと思います。

したがって、ログイン時に認証クッキーを設定する必要があります。

  FormsAuthentication.SetAuthCookie(username, true);

ログオフ時またはユーザーの変更時:

  FormsAuthentication.SignOut();

これは非常に標準的な機能です。asp.net mvc 3 が作成する既定のアプリで確認できます。

必要なリンク:

于 2012-10-02T08:59:57.323 に答える