ASP.NET MVC4和Web API身份validation+授权(Windows 8和Web)

我使用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任何调用进行身份validation。

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

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

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

我的问题:如何在Web API向其发出请求,获取用户列表以及从Windows 8应用程序或Windows Phone 8或Windows Forms中显示这些用户列表时如何进行身份validation? 换句话说,来自Web浏览器以外的客户端?

您应该创建另一个api,它从Windows 8应用程序或Windows检查身份validation。

如果成功通过身份validation,则只需要向客户端显示用户列表。

这取决于你如何编写你的应用程序,但基本上,你将使用http协议。 看看ASP.NET MVC – HTTP身份validation提示和http://www.piotrwalat.net/basic-http-authentication-in-asp-net-web-api-using-membership-provider/