我有一个解决方案,其中包含三个项目:
数据(实体框架) - >服务 - > Web(MVC)。
如何从Controller中的HttpContext获取我的Data项目中的当前loget用户?我需要在DB中设置列,如CreatedBy和ModifiedBy,然后创建/ editng项。 (身份验证模式为"表格")
感谢您的建议。
答案 0 :(得分:0)
请在此处查看我的回答。 Get UserId from class library project
几乎是一回事。在MVC控制器中,创建一个变量并存储这样的用户名 - string user = User.Identity.Name;
然后只需将参数添加到数据项目中用户需要的任何方法,并将用户变量传递给您的方法。
答案 1 :(得分:0)
好的,我找到了解决方案。我创建了一个基本服务类,其中添加了带有User参数的构造函数,然后将所有服务分配给我的基本服务类。
答案 2 :(得分:0)
我创建了一个可以在任何地方重复使用的静态类。
public static class GetUserName
{
public static string Name(IPrincipal user)
{
return user==null? HttpContext.Current.User.Identity.Name:user.Identity.Name;
}
}