asp.net-mvc – 如何使用NHibernate Envers记录当前用户
发布时间:2020-12-16 09:46:37 所属栏目:asp.Net 来源:网络整理
导读:我查看了如何在Envers的修订实体表中记录当前用户的用户名.但是,信息很少,而我设法找到的信息并没有那么有用. 我有一个修订实体和监听器,如下所示: [RevisionEntity(typeof(EnversRevisionListener))]public class EnversRevisionEntity : DefaultRevisionE
我查看了如何在Envers的修订实体表中记录当前用户的用户名.但是,信息很少,而我设法找到的信息并没有那么有用.
我有一个修订实体和监听器,如下所示: [RevisionEntity(typeof(EnversRevisionListener))] public class EnversRevisionEntity : DefaultRevisionEntity { public virtual string UserName { get; set; } } public class EnversRevisionListener : IRevisionListener { private string _userName = "unknown"; public EnversRevisionListener(string userName) : base() { _userName = userName; } public void NewRevision(object revisionEntity) { var casted = revisionEntity as EnversRevisionEntity; if (casted != null) { casted.UserName = _userName; } } } 我想在ASP.NET环境中使用这两个.配置和会话工厂创建一次,因为这是一个昂贵的操作.对于每个事务,将打开一个新会话. 从这个NHE Jira问题和相关的,SO question我明白在配置nHibernate时可以用监听器注册用户名. 但是,这对我来说不够好,因为它会为每个事务注册首先连接到应用程序的用户名. 我需要能够向侦听器提供与特定事务相关的用户名. 以前,我使用nHibernate的更新前和更新后事件监听器来使用穷人的审计.这里I faced a similar problem这些监听器也与会话工厂相关联而不是会话.因此我切换到旧式拦截器,它可以与OpenSession中的会话相关联.这允许我将当前用户添加到拦截器. 但是,我不知道如何为Envers解决同样的问题.我希望有人能帮帮忙. 解决方法
您可以使用Thread.CurrentPrinicpal属性(
MSDN). ASP.NET成员资格机制将其设置为与当前登录用户关联的标识
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – System.Web.MVC.UpdateModel可以更新EF导航
- 运行SonarQube针对ASP.Net核心解决方案/项目
- asp.net-mvc – ASP.NET MVC中的CSS和Javascript相对路径混
- 当值不为null时,清除在ASP.NET MVC视图中输出值的方法
- ASP.NET Webforms验证框架的建议
- asp.net-mvc – 使用IIS 7中的ASP.NET MVC 1来路由具有特定
- asp.net-mvc – .Net 4.5.1框架的maxRequestLength
- asp.net-mvc – UserManager VerifyUserTokenAsync始终为Fa
- asp.net – 当要复制的lob数据的插入长度超过配置的最大值6
- asp.net-mvc-2 – 无法在ELMAH中记录代码500错误
推荐文章
站长推荐
- asp.net-mvc-3 – insert命令需要插入数据绑定设
- asp.net – 为什么aspnet_users使用guid来代替id
- asp.net – 将非www重定向到www规则导致文件问题
- asp.net – 使用Visual Studio 2015检测gulp中的
- asp.net-mvc – Visual Studio断点未被击中
- asp.net – 在类库中引用RoleProvider
- asp.net – 如果Ninject尚未绑定,如何在Ninject中
- asp.net – Html.Partial vs Html.RenderPartial
- asp.net中的GridView分页问题
- 使用oAuth和ASP.NET MVC WebApi进行身份验证
热点阅读