2010-09-03 69 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