代码之家  ›  专栏  ›  技术社区  ›  Emad Gabriel

自定义非ASP.NET应用程序中的ASP.NET成员身份

  •  0
  • Emad Gabriel  · 技术社区  · 15 年前

    我正在构建一个应用程序,其中客户端(WPF)将调用web服务来发送数据。 这些客户机将具有不同的角色:员工、经理等,在调用web服务进行身份验证时,每个客户机都需要发送其用户名/密码。

    我可以在由web服务包装的类库中使用ASP.NET成员资格提供程序进行身份验证/授权吗? 或者此API应“仅”在Asp.NET应用程序中使用?

    我还有其他选择吗?

    1 回复  |  直到 15 年前
        1
  •  0
  •   Richard Downer    15 年前

    我已经编写了命令行工具,可以毫无问题地维护ASP.NET成员数据库,因此在基本级别上,调用ASP.NET成员方法的非ASP.NET应用程序没有问题。

    由于您没有ASP.NET控件来自动处理大多数成员资格,因此您必须编写自己的代码来检查密码和角色。以下方法可能有助于做到这一点:

    • SqlMembershipProvider.FindUsersByName
    • SqlMembershipProvider.GetPassword (要使其正常工作,必须将成员资格提供程序配置为存储加密密码,而不是散列密码)
    • SqlRoleProvider.IsUserInRole

    所以我认为这一切都有可能实现。但不能保证在某个时候不会有一个尴尬的障碍阻止它在ASP.NET之外工作,所以 首先制作原型