【发布时间】:2014-10-24 16:19:52
【问题描述】:
我正在使用 Azure 移动服务 .NET 后端 (v1.0348) 和一个运行良好的自定义身份验证提供程序。我有一个使用 AuthorizationLevel.User 属性保护的 WebAPI 服务。
我可以通过自定义身份验证提供程序成功登录。我可以为每个后续请求传递身份验证令牌 (X-ZUMO-AUTH) 标头,并且它工作正常(它允许标头中具有有效身份验证令牌的用户访问 WebAPI 中的受保护服务)。
如何从 WebAPI 服务获取用户的用户名?如何使用 X-ZUMO-AUTH 标头获取经过身份验证的用户的用户名?
在我的 ApiController 类(用 AuthorizationLevel.User 装饰)上,我期待这会起作用:this.User.Identity.GetUserId() 甚至 this.User.Identity.Name
这看起来很直观,对吧?没有这样的运气。不工作。它返回一个空字符串。
这方面的文档非常薄弱/不存在。我正在狩猎和啄食,但没有运气。
丹
【问题讨论】:
-
你在使用 JS-Backed Mobile 服务吗?
-
对于 JS 支持,我使用了
client.currentUser.userId并且它有效。也许你可以在 .net 中尝试一些东西。 -
我想通了。 var myUser = 用户作为服务用户; var userId = myUser.Id;
标签: c# asp.net asp.net-web-api azure-mobile-services