2010-09-03 68 views
5

我是ASP.NET新手。由於我想要使用ORM,我似乎希望實體能夠表示用戶或成員等,而不是表單身份驗證API隱藏的某些數據。事實上,我沒有看到我沒有一個人能夠生活。使用EF 4時,ASP.NET MVC,表單驗證或自定義?

人們如何處理這個問題?滾動自己的身份驗證?或者是否有將表單驗證與實體框架結合的最佳做法?

總之,由於我需要一個用戶和角色實體進行查詢,我應該跳過表單驗證還是找到一種方法來使用它?

謝謝

回答

4

EF和Forms Auth確實是兩個不同的領域。您可以非常輕鬆地使用沒有ASP.NET成員資格的Forms Auth,並以很少的努力推出自己的提供商。

本教程將告訴你如何:

http://msdn.microsoft.com/en-us/library/ms172766(VS.80).aspx

的ASP.NET MVC你應該使用標準的驗證,因爲你可以管理訪問使用屬性對角色很容易控制器。

+0

明天我要看看這個,非常感謝你的快速回答。這整個區域一直很混亂...... – 2010-09-03 21:43:25

3

FormsAuthentication本身並不關心身份存儲,只能通過Authenticate方法驗證存儲在web.config <credentials>部分中的憑證。登錄頁面的標準實現使用靜態Membership類來管理配置文件(通常爲SqlProfileProvider)中指定的MembershipProvider中的身份和憑證。

但是,您不必使用ASP.NET的成員資格提供程序功能來維護您的身份,您仍然可以使用FormsAuthentication就好。 forms authentication control flow顯示錶單身份驗證主要處理在cookie中爲用戶創建和維護身份驗證票據。它不處理用戶身份或個人資料本身,因爲它不關心這些。

因此,您可以安全地使用EF來維護您的用戶配置文件,包括憑據,並在登錄頁面中對所提供的憑據進行身份驗證,同時仍然使用FormsAuthnetication