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/