c# - ASP.NET MVC4 和 Web API 身份验证 + 授权(Windows 8 和 Web)

标签 c# windows-8 asp.net-mvc-4 asp.net-web-api

我使用简单的成员资格数据库创建了一个 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/

相关文章:

c# - 我是否需要将 Azure 函数作为异步方法运行?

c# - 从 Controller 控制我的 asp View 中的 javascript 代码是否将被执行

c# - IPEndPoint 对象的比较不起作用

c# - 检索 BLOB 文件

c# - Windows 8 Metro 风格应用程序中 .NET GeoCoordinate.GetDistanceTo 的等价物

windows-8 - 如何在没有 Reactive 框架的情况下动态绑定(bind)事件到 WinRT 中的命令?

javascript - 如何在 IE11/Windows 8 中删除样式选择中不需要的填充

c# - 如何获取当前 Windows 登录用户的用户名?

c# - 为什么 Newtonsoft.JSON 在每个元素的每个属性中放置一个 '$' 标志?

c# - 装饰模式困惑