【问题标题】:Using ServiceStack Ormlite global filters with Session将 ServiceStack Ormlite 全局过滤器与 Session 一起使用
【发布时间】:2017-03-29 01:34:53
【问题描述】:

我想更改找到的示例here,以便在每次进行更改时使用会话的用户名填充 modifyby。这可能吗?

【问题讨论】:

    标签: servicestack ormlite-servicestack


    【解决方案1】:

    您需要单例访问权限才能访问您需要在 ReqeustContext 或 ASP.NET 的 HttpContext.Current.Items 字典中填充的用户名,例如:

    GlobalRequestFilters.Add((req,res,dto) => {
        RequestContext.Instance.Items["UserName"] = req.GetSession().UserAuthName;
    });
    

    您可以从 UpdateFilter 内部访问,例如:

    OrmLiteConfig.UpdateFilter = (dbCmd, row) => {
        var auditRow = row as IAudit;
        var userName = RequestContext.Instance.Items["UserName"] as string;
        if (auditRow != null)
            auditRow.UserName = userName;
    };
    

    注意:“用户名”只能在 HTTP 请求的上下文中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-20
      • 1970-01-01
      • 1970-01-01
      • 2019-09-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多