2011-10-18 12 views
0

私のMVC 3アプリケーションのカスタム認可属性を作成しようとしています。ユーザーがログインしているかどうかをチェックする既定のFacebookAutorize属性があることはわかっています。カスタム属性を作成する理由は、ユーザーがFacebookまたはFacebookなし(デフォルトのメンバーシップ)のFacebookアカウントを作成できることです。Facebookのカスタム認可属性

ユーザーがFacebookにログインしたときに、接続されたメンバーシップアカウントを取得し、FormsAuthentication.SetAuthCookieメソッドを呼び出してログインする必要があります。

VS2010(F5)でアプリケーションを実行すると、ユーザーはログインしていないため、ログインページが表示されます。ログインボタンをクリックしてhomecontrollerのインデックスアクションにリダイレクトすると、私のカスタム属性には、FacebookWebContext.Current.IsAuthenticated()メソッドがtrueと表示されます。 ブラウザを閉じてVSでもう一度F5を押すと、ウェブサイトはhomecontrollerインデックスに再度ナビゲートされます。その瞬間、カスタム権限が再度呼び出され、FacebookWebContext.Current.IsAuthenticated()がfalseを返すことがわかります。

なぜ偽ですか?私はすでに正しく認証されていますか?

おかげ

答えて

0

最新のソースコードとをFormsAuthenticationやFacebookのOAuthの使用を示し、チェックアウト "CS-AspNetMvc3-WithoutJsSdk.sln" のサンプルをダウンロードしてください。