3

我正在开发一个具有 asp.net Web 应用程序和移动应用程序(iOS、Android)的项目。我需要想出一种方法来提供来自各种客户端的身份验证、授权和成员注册。我计划使用 ASP.NET 成员资格提供程序并设置 WCF 身份验证服务以使用该成员资格提供程序。

我的想法是我的 Web 应用程序和移动应用程序客户端将能够使用此服务进行身份验证。

不过,这里有一些问题,我希望得到任何指导:1) 使用 asp.net 的会员提供程序会生成一个表单身份验证 cookie,该 cookie 不适用于移动应用程序。我读到的一些内容建议在响应中返回身份验证令牌。2)WCF认证服务是只提供认证还是也可以用于会员注册?基本上,需要一个可供移动客户端使用的解决方案,以允许用户注册。

我相信其他人已经这样做了。我正在寻找一些指导,以便我可以正确地做到这一点,因为我发现的文档和示例似乎不完整。

提前致谢。

4

1 回答 1

4

1) 使用 asp.net 的会员提供商会生成一个表单身份验证 cookie,该 cookie 不适用于移动应用程序。我读到的一些内容建议在响应中返回身份验证令牌

Cookie 仍然可以加载到移动应用程序中。考虑以下场景:

  1. 应用通过 HTTP 向 WCF 服务发送请求并获取包含 cookie 的 HTTP 响应。
  2. 一些自定义代码收集该 cookie 并保存。
  3. 应用程序将 cookie 添加到下一个 WCF 请求以确认用户已通过身份验证。

浏览器在 Web 应用程序中为您执行此操作,但移动应用程序需要一些额外的编码。

如果仅使用身份验证,则不需要 cookie。方法System.Web.ApplicationServices.AuthenticationService.ValidateUser可用于验证用户名和密码。尽管如果您想使用用户角色和配置文件,您将需要 cookie。 System.Web.ApplicationServices.AuthenticationService.Login返回 cookie。当应用程序调用RoleServiceProfileService

有关详细信息,请参阅此示例:http: //msdn.microsoft.com/en-us/library/bb515342 (v=vs.100).aspx

2)WCF认证服务是只提供认证还是也可以用于会员注册?基本上,需要一个可供移动客户端使用的解决方案,以允许用户注册。

Microsoft 实施只进行身份验证。您需要实现自己的服务或寻找第三方进行注册。

这是您可以使用的方法列表:http:
//msdn.microsoft.com/en-us/library/system.web.applicationservices.authenticationservice_methods

于 2012-06-03T23:01:45.930 回答