Pra*_*bhu 14 .net c# asp.net asp.net-mvc dotnetopenauth
到目前为止,我一直在使用自定义成员资格提供程序进行身份验证.我即将开始使用MVC开发我的第一个网站.我想知道我是否应该使用ASP .NET MVC附带的内置成员资格提供程序,或者我是否应该创建自己的.我的网站需要与openid,facebook,google等集成以进行身份验证和api访问的openauth.我想知道根据我的需要使用内置的那么容易.
Pur*_*ome 25
就个人而言,我讨厌使用ASP.NET Membership provider核心框架中可用的... 当它持续存在于SQL SERVER数据库中时.所有表格和视图对于单个网站来说都是一种过度杀伤力.对于托管公司?..也许......但是对于我所做的所有企业网站来说......这是一种过度杀伤和麻烦.至于实际的提供者界面等...它非常好..但仍然非常硬核等等.对于简单中型网站,IMO来说是一种过度杀伤力.
所以个人而言,我会使用一些简单的自定义代码来处理大多数基本媒体网站的成员资格持久性.
这就是你的第二个问题:OpenId.使用Andrew Arnott的DotNetOpenAuth .NET框架 - >它就是Kicks Serious Ass(tm).使用它与将用户成员资格数据保存到存储库的方式无关.IE浏览器.如果您继续使用Sql Server + ASP.NET成员资格提供程序,您仍然可以(并且应该)使用DotNetOpenAuth.如果您有一种简单的自定义方式将用户详细信息保存到数据库(这就是我所做的),您仍然可以使用DotNetOpenAuth - 两者相互独立.
所以,IMO,不要使用过于复杂的ASP.NET Membership + Sql Server的东西,而是使用一两个简单的表来保存自己的用户详细信息.接下来,你必须使用DotNetOpenAuth来处理任何OpenId(StackOverflow使用DotNetOpenAuth来处理他们的OpenId登录).
祝好运 :)
(我确信我的ASP.NET成员资格提供程序+ Sql Server的操作会保留这些信息会导致一些人产生书呆子,这里).
看看NerdDinner发生了什么.他们最近(6个月前)与OpenID集成,谷歌,雅虎作为特色提供商.他们仍然允许所有"原生"登录.以下是允许用户以不同方式进行身份验证的站点示例.
如果你可以镜像他们的一些功能,你就可以在Facebook,OpenAuth等上滚动.最大的好处是它已经在ASP.NET MVC中实现了,你只需要借用一些实现.