我正在尝试访问登录的 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/