2010-09-25 104 views
0

我正在創建一個MVC網站,我想在我的網站中混合使用Twitter身份驗證的表單身份驗證(內置身份驗證)(最終還會有Facebook/Google身份驗證)。加載授權cookie時驗證用戶Twitter授權

我採取的方法是這樣的: - 我讓邏輯創建用戶並驗證來自Forms身份驗證的用戶/密碼,因爲它是開箱即用的。 - 我創建了一個新的用戶表,在這裏我保存了用戶的名字,用戶在我的網站上的ID以及該用戶的身份驗證服務(「Forms」,「Twitter」,「Facebook」)。 - 當用戶使用任何身份驗證方法登錄時,我創建一個標準身份驗證cookie,將用戶ID和身份驗證服務添加到cookie的UserData。

現在,我希望用戶在關閉瀏覽器後能夠保持登錄狀態,無論用戶使用哪種服務登錄。對此我的意思是,如果用戶再次打開該站點,他會贏得必須再次在該網站上授權Twitter。 現在,使用cookie的方法,MVC從cookie加載用戶信息,用戶似乎登錄時,他進入網站,正是我想要的。

問題是,如果用戶撤消我網站的訪問權限,則用戶的身份驗證Cookie仍然有效,並且用戶將顯示爲已登錄狀態,即使我的網站授權已被吊銷。

我的問題是,有沒有一種方法來驗證授權在MVC加載授權cookie中的信息?我知道我可以使用一個自定義的AuthorizeAttribute並在AuthorizeCore方法上對其進行驗證,但只有在用戶訪問需要驗證的ActionMethod時纔會調用它。

感謝您的幫助。

回答