2011-05-12 17 views
0

私は自分のFacebook資格情報のみを使用して自分のサイトにログインしたいと考えています。私はMembershipProviderクラスを拡張するFacebookMembershipProviderクラスを持っていたいと思います。このようにして、ASP.netに組み込まれているセキュリティ機能を引き続き使用できます。[Authorize(roles = "Admin")]MembershipProviderとRoleProviderをASP.netで使用しているmvc 3

これを試したことがありますか?どのように実装しましたか?

答えて

1

Facebookにログインして関連するメンバーシップアカウントを作成する方法がありますが、私はweb-matrixのmicrosoft-web-helpersパッケージのコードの一部を見ていて、facebookヘルパーがこのアプローチをサポートしているようです。

この方法でも、既定のメンバーシップと役割のプロバイダーを引き続き使用できます。

+0

これは私のやり方です。新しい人が来て、Facebookでログインした場合は、背後にある彼らのために普通のアカウントを作成してください。パスワードを生成するのは気にしません。 Facebook経由でログインする必要がない場合は、「パスワードを忘れた」リンクをクリックして、新しいパスワード(実際には初めてのパスワード)を取得することができます。 –

1

カスタムメンバーシッププロバイダは作成しませんが、Facebookのログインはそのように機能しないためです。ユーザー名とパスワードを使用する代わりに、認証トークンを返すfacebook apiを使用します。認証トークンを検証したら、FormsAuthentication.SetAuthCookie(Username, Persist)を使用して自分のFacebook IDを保存できます。これは、ロールプロバイダと[Authorize]タグなどで期待どおりに機能します。ただし、カスタムロールプロバイダを作成することもできますが、データベーススキーマが単純になり、格納する必要がない場合にはより適していますユーザー名とパスワード。

関連する問題