【问题标题】:asp.net user Authorization and Authentication [closed]asp.net 用户授权和身份验证
【发布时间】:2011-09-05 21:02:00
【问题描述】:

我想编写一个 Web 应用程序,我正在尝试找出我目前所读到的关于用户授权和身份验证的可能性:

  1. 使用 asp.net 成员资格和角色管理
  2. 使用 oauth 或 openId 控件
  3. 自己实现这部分(这看起来很辛苦,我不确定它是否值得)

您有什么建议,或者您是否可以链接到有关此问题的更多信息

谢谢

多伦

【问题讨论】:

  • 这三个是可能的,你的问题没有建设性。投票结束。

标签: asp.net authentication asp.net-membership authorization


【解决方案1】:

使用 ASP.NET MembershipProviderProfileProviderRoleProvider 是 IMO 的最佳解决方案,因为它使您的应用程序可插入,框架一起工作,并且它强制一个很好的层抽象的。

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

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

// rather than

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

OAuthOpenId 可用于补充和扩展基本表单实现,允许用户通过其他提供程序登录,然后映射到本地用户,以便您可以存储额外的元数据。

您真的必须使用提供程序来利用ASP.NET 身份验证,通过FormsAuthentication.SetAuthCookie 使用身份验证cookie 是一个很好的后身份验证快捷方式。

自己动手是个坏主意。内置的 it 机制并不是万无一失的,但它是一个可靠的基础实现,可以避免大多数人容易陷入的基本陷阱。切勿将Session 用于任何authenticationauthorisation 逻辑,因为它非常不安全。

【讨论】:

    猜你喜欢
    • 2013-10-02
    • 1970-01-01
    • 2012-09-10
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多