要在MVC5中获取当前登录的用户,我们所要做的就是:
using Microsoft.AspNet.Identity;
[Authorize]
public IHttpActionResult DoSomething() {
string currentUserId = User.Identity.GetUserId();
}
Run Code Online (Sandbox Code Playgroud)
现在,使用ASP.NET Core我认为这应该可行,但它会引发错误.
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Http;
private readonly UserManager<ApplicationUser> _userManager;
[HttpPost]
[Authorize]
public async Task<IActionResult> StartSession() {
var curUser = await _userManager.GetUserAsync(HttpContext.User);
}
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
编辑: Gerardo的回应是正常的,但要获得用户的实际"Id",这似乎工作:
ClaimsPrincipal currentUser = this.User;
var currentUserID = currentUser.FindFirst(ClaimTypes.NameIdentifier).Value;
Run Code Online (Sandbox Code Playgroud) 是否可以为 Azure Blob 存储中已存在的视频文件创建媒体服务资产和 Sas 定位器?存储帐户与与该媒体服务帐户关联的帐户相同。Assets.Create() 为每个视频文件创建一个容器。每个容器都有数百个相关的视频剪辑。我想为它们创建 AccessPolicies 和一个定位器,以便可以保护资产的 URL。相同的 AccessPolicies 将应用于整个视频剪辑容器。这样我就可以删除容器并一次删除 100 个 blob。