10

我使用 Simple Membership db 创建了一个 ASP.NET MVC 4 Internet Web 应用程序来存储用户、角色和配置文件。

在我的应用程序中,我创建了一个 Web API 控制器,它将响应http:// 127.0.0.1/api/users并且此调用将返回存储在 db 中的所有用户的列表JSON

用属性UsersController装饰,[Authorize]因此对 的任何调用http:// 127.0.0.1/api/users都必须经过身份验证。

在主页上,我有一个按钮,一旦按下 jQuery ajax 获取请求就会执行,并将显示 Web API (json) 返回的用户列表。

如果我登录并按下按钮,一切正常……检索并显示用户列表。

如果我没有登录,则消息显示为401 - Unauthorized(jquery 调用 statusCode 中的自定义消息),因此由于该[Authorize]属性,它可以正常工作。

我的问题:当 Web API 向它发出请求时,我如何进行身份验证,以获取用户列表并从 Windows 8 应用程序或 Windows Phone 8 或 Windows 窗体中显示它们?换句话说,来自网络浏览器以外的客户端?

4

2 回答 2

1

这取决于您如何编写应用程序,但基本上,您将为此使用 http 协议。看看ASP.NET MVC - HTTP Authentication Prompthttp://www.piotrwalat.net/basic-http-authentication-in-asp-net-web-api-using-membership-provider/

于 2013-01-19T03:21:15.610 回答
1

您应该制作另一个 api,用于检查来自 Windows 8 应用程序或 Windows 的身份验证。

如果它从身份验证成功通过,那么只有您必须向客户端显示用户列表。

于 2014-05-15T05:15:28.813 回答