代码之家  ›  专栏  ›  技术社区  ›  RailRhoad

使用实体框架模拟用户

  •  1
  • RailRhoad  · 技术社区  · 15 年前

    所以我们有了我们的web应用程序,并使用实体框架。我们要做的是在访问数据库时模拟当前用户。我们对在web配置中设置模拟不感兴趣。

    理想情况下使用这样的工具: http://geekswithblogs.net/jkurtz/archive/2007/08/27/114992.aspx 当我们要访问数据时。

    更新:我正在寻找一种方法来抽象出这段代码,这样我就不必在每个存储库函数调用中都包含它。

    1 回复  |  直到 15 年前
        1
  •  2
  •   Bryan Batchelder    15 年前

    您的ef连接字符串需要设置为使用可信连接。

    您不需要在web.config中设置模拟,但需要使用Windows身份验证。

    那么就这么做:

    using (((WindowsIdentity)HttpContext.Current.User.Identity).Impersonate())
    using (var dbContext = new MyEntityFrameworkContainer())
    {
        ...
    }
    

    using语句大括号内的任何代码都将作为经过身份验证的用户运行。