2009-05-18 5 views

答えて

2

現在のユーザーがいないかどうかを確認してから、新しいユーザーアカウントを自動的に作成して舞台裏でログインする必要があります。クッキーを使用すると(ユーザーが有効になっていると仮定した場合)、この「匿名ユーザー」によるその後の訪問は、依然としてユーザーリポジトリ内の同じアカウントにマップされます。これはアクティビティの追跡に役立ちます。

自動的にユーザーを「登録済み」および「自動/匿名」グループに入れることができます。これにより、現在のユーザーが「匿名」グループのメンバーであるかどうかによって、「ログイン」または「アカウント」リンクを表示するかどうかを決定するなど、コードでどのように振る舞うのかを識別することが容易になります。また、ユーザーがそうすることを決定した場合、登録されたアカウントにアクティビティーの履歴を移行することも容易になります。

+1

ここで匿名ユーザーとは、閲覧している「訪問者」とは異なることを意味しますか? (つまり、スタックオーバーフローが登録抹消されているような)か、サイトにアクセスした人が裏でサインインする必要があるということですか?それはあまりにも大きいですか? – zsharp

+0

@zsharpサイトを訪れる人は誰でも舞台裏でサインインする必要があります。最初は多くのように聞こえるかもしれませんが、ログインしたユーザーと同じようにすべてのユーザーが扱われるため、実際は単純化されています。唯一の違いは、ログインメカニズムです。これは、ユーザー名とパスワードのログインと、目に見えない自動ログインという2つのプロバイダに抽象化することができます。 –

+0

もう1つのことは、新しいメンバーを作成して新しいIDを割り当てるか、「ゲスト」アカウントを再利用するのですか?前者の場合、定期的に匿名ユーザーのdbをクリーンアップする必要がありますか? – zsharp

4

ASP.NETメンバーシップでは、ユーザーがログインしているかどうかを確認するには、次の関数を呼び出すことができますで/ ...認証済み/匿名か

ページ上にある場合
User.Identity.IsAuthenticated() 
0

User.Identity.IsAuthenticated()プロパティはブール値を与えます。ページにいない場合(つまり、クラスメソッドをチェックインする場合)、System.Web.HttpContext名前空間をインポートする必要があります。

+0

私は本当にこれのために投票しましたか?本当に? – Jason

関連する問題