2011-12-10 13 views
0

私はコントロールを見ることができるウェブサイト(ASP.NET、C#)を設計していますが、ログインした後でしか使用することはできません(例えば、ゲームのリストを見ることができます。あなたがログインした後にのみ賭けをすることができるので、ログインしていないときに賭けをしようとすると、サイトはあなたをログインページにリダイレクトする必要があります)。誰かがユーザーであるかどうかをチェックする方法は?

すべて私の問題は次のとおりです。特定のユーザーがログインしている場合は、資格情報を入力する前にどのように伝えることができますか?

彼はまだユーザーではありませんか?私にとっては、彼は私のウェブサイトを閲覧している人です。

+1

。 ASP.NETでフォーム認証が認証Cookieと共にどのように機能するかを調べることができます。 – BrokenGlass

+0

すぐにログイン/資格情報を入力すると、セッションを作成してセッションが存在するかどうかを確認できます。表示/非表示のコントロール –

答えて

0

Cookieを調査し、Cookieの設定に基づいてデータベースにクエリする必要があります。

+0

本当に答えに情報を追加する必要があります。 ASP.NETにはすでにかなり包括的な認証/承認/役割配管があります。 – R0MANARMY

0

これまでに誰かが自分のサイトにログインしていない場合、そのユーザーがユーザーであるかどうかを判断する方法がありません。最も広く使用されているASP.NETの認証メカニズムはForms authenticationです。ユーザーのブラウザに認証Cookieを返します。このCookieは、その後、そのユーザーのすべての要求に付随するため、そのユーザーが誰で、現在のセッションで認証されているかを追跡できますまた"Understanding the Forms Authentication Ticket and Cookie"を参照してください)。

別名の長いCookieを使用して、ユーザーの名前を識別することができます。ユーザーの名前は、ユーザーがログアウトした後も使用可能(通常は)になります。その人があなたのサイトにアクセスしたら、少なくともその名前を使ってログインするように促すことができます。

+0

すみません、ありがとうございました:) BrokenGlass、unfortunetly、私は理解していません。あなたはこう書いています。「これまでに誰かがあなたのサイトにログインしていないと、彼/彼女がユーザーであるかどうかを知る方法がありません。 - しかしそれは私が必要としている幹部です。私は誰かがログインしていないことを特定できる必要があります。それを行うには何らかの方法が必要ですか?多分私の全体のapprochは〜で始めるのが間違っていますか? –

1

ユーザがログインしている場合は、Request.IsAuthenticatedtrueです。要求が認証されると、User.Identity.Nameプロパティはユーザーのユーザー名に設定されます。ユーザーが認証される前に、ユーザーが誰であるかを知る方法はありません。いくつかのjavascriptコードを使用して、そのユーザーがユーザー名のテキストボックスに入力した内容を調べることができますが、パスワードが検証されるまではそのユーザーであるかどうかはわかりません。

関連する問題