c# - 在 Umbraco 版本 7.3.5 中获取当前用户

标签 c# asp.net asp.net-web-api umbraco

我正在尝试访问登录的 Umbraco 用户,而不是成员(member),但我无法让它工作。

我尝试了以下方法,但都没有用,它们都返回 null:

umbraco.BusinessLogic.User.GetCurrent()
UmbracoContext.UmbracoUser
UmbracoContext.Security.CurrentUser
umbraco.helper.GetCurrentUmbracoUser()

我可以使用下面的代码访问用户,例如 Name:

UmbracoContext.Application.Services.UserService.GetByEmail("name@company.com").Name

我试过此代码以用户和成员身份登录,仅用户,仅成员且根本未登录,但它始终返回相同的结果,null。

我在 SurfaceController 和 UmbracoApiController 中尝试了代码,结果相同。使用 Membership.GetUser(); 获取登录成员没有问题有其他人遇到过这种情况吗?

使用:Umbraco 版本 7.3.5 程序集:1.0.5858.25602

最佳答案

是的,我之前尝试过以多种方式访问​​当前后端用户,发现唯一的方法是:

var userTicket = new System.Web.HttpContextWrapper(System.Web.HttpContext.Current).GetUmbracoAuthTicket();
if (userTicket != null)
{
    var currentUser = ApplicationContext.Services.UserService.GetByUsername(userTicket.Name);
}

关于c# - 在 Umbraco 版本 7.3.5 中获取当前用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364220/

相关文章:

c# - asp.net url 路由器与 ajax webservice 路径冲突

c# - 从我的 Web API 调用第 3 方 Web API 时 Web 服务器挂起

c# - 初始转换后挂起 TuesPechkin

C# MySQL - 从特定列检索数据并插入变量

c# - 邮件发件人不工作

c# - 如何在 C# 中向 Allure 报告添加附件?

c# - 如何设置 GridView EditItemTemplate 文本框采用最大单元格宽度?

c# - 如何浏览Service Fabric上的应用程序?

c# - 在 C# 中将大型二进制文件读入 int 数组的最快方法

c# - .NET 并发集合可以用于 x32 到 x64 的进程间通信吗?