2011-09-05 110 views
0

我想写一个Web应用程序,我试图弄清楚什么是我的关于用户授权和验证possibilites,为我到目前为止阅读:采用aspasp.net用户授权和验证

  1. 。网成员和角色管理
  2. 使用OAuth或OpenID的控制
  3. 实现自己这个部分(这个貌似很多艰苦的工作,我不知道它的价值的话)

你有什么建议,或者您可以链接到更多的信息,关于这个问题

谢谢

多伦

+2

这三个是可能的,你的问题不是建设性的。投票结束。 –

回答

0

使用ASP.NET MembershipProviderProfileProviderRoleProvider是最好的解决方案IMO,因为它使你的应用程序插件 - 作品框架,它强制抽象层。

我不建议使用静态类访问提供程序,我总是通过DI直接依赖提供程序并保持可测试性。

var service = new UserService(Membership.Provider); 
service.MyUserAction("myusername"); 

// rather than 

var user = Membership.GetUser("myusername"); 
... 

OAuthOpenId可以用来补充和扩展基本形式实现,允许用户通过其他提供商登录,但随后映射到本地用户,这样就可以存储更多的元数据。

你真的不使用提供者通过FormsAuthentication.SetAuthCookie采取ASP.NET认证的优势,利用该身份验证的cookie是后验证了一个快捷方式。

滚动你自己是一个坏主意。构建它的机制不是没有错误的,但它是一个坚实的基础实现,可以避免大多数人的基本陷阱。对于任何authenticationauthorisation逻辑,切勿使用Session,因为它非常不安全。