数据项目中的MVC 5 HttpContext.User

时间:2014-05-06 11:22:18

标签: asp.net-mvc entity-framework-5 asp.net-mvc-5 httpcontext

我有一个解决方案,其中包含三个项目:

数据(实体框架) - >服务 - > Web(MVC)。

如何从Controller中的HttpContext获取我的Data项目中的当前loget用户?我需要在DB中设置列,如CreatedBy和ModifiedBy,然后创建/ editng项。 (身份验证模式为"表格")

感谢您的建议。

3 个答案:

答案 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;
        }
    }