我使用简单的成员资格数据库创建了一个 ASP.NET MVC 4 Internet Web 应用程序来存储用户、角色和配置文件。
在我的应用程序中,我创建了一个 Web API Controller ,它将响应 http://127.0.0.1/api/users
并且此调用将返回存储在数据库中的所有用户列表JSON
。
UsersController
装饰有 [Authorize]
属性,因此对 http://127.0.0.1/api/users
的任何调用都有进行身份验证。
在主页上我有一个按钮,一旦按下,就会执行 jQuery ajax get 请求,并将显示由 Web API (json) 返回的用户列表。
如果我登录并按下按钮,一切正常……检索并显示用户列表。
如果我没有登录,显示的消息是 401 - Unauthorized
(jquery 调用 statusCode 中的自定义消息)所以它可以正常工作,因为 [Authorize]
属性。
我的问题:当 Web API 向它发出请求时,我如何进行身份验证,以获取用户列表并从 Windows 8 应用程序或 Windows Phone 8 或 Windows 窗体中显示他们?换句话说,来自 Web 浏览器以外的客户端?
最佳答案
你应该制作另一个 api,检查来自 Windows 8 应用程序或 Windows 的身份验证。
如果认证成功,那么只需要将用户列表展示给客户端即可。
关于c# - ASP.NET MVC4 和 Web API 身份验证 + 授权(Windows 8 和 Web),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14365373/