访问 MVC 存储库中的 Identity 对象
我有一个非常通用的存储库,可以为我的许多业务实体执行基本的 CRUD。 这些实体继承形成一个通用对象,该对象具有我为所有对象维护的一些字段。 例如。修改者、创建者、创建日期、修改日期。
这些字段 ModifiedBy 和 CreatedBy 将始终在任何更新/保存之前设置。
我的问题是: 有什么方法可以从我的存储库中的 MVC Web 应用程序访问 Identity 对象吗? 我希望一次性将修改者设置为身份用户以进行任何更新?
最良好的问候, 杆
I have a pretty generic repository that does basic CRUD for many of my business entities.
The entities enherit form a generic object that has a few fields I maintain for all objects.
eg. ModifiedBy, CreatedBy, CreatedDate, ModifiedDate.
These fields ModifiedBy and CreatedBy will always be set before any update/save.
My questions is:
Is there any way to gain access to the Identity object from my MVC web application in my repositories?
I was hoping to set the modifiedby to the identity user for any update in one shot??
Best Regard,
Rod
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,您可以直接在存储库中访问 HttpContext.Current.User.Identity,但我不推荐它,因为它会使您的存储库依赖于 HttpContext。
替代方案:
IIdentity
参数,例如void Update(T实体, IIdentity user)
解耦“获取当前用户”的逻辑“,例如:
或者更简单:
使用 IoC 容器来连接事物。
Well, you could access
HttpContext.Current.User.Identity
directly in your repositories, but I wouldn't recommend it as it will make your repositories HttpContext-dependent.Alternatives:
IIdentity
parameter in your Create/Update methods, e.g.void Update(T entity, IIdentity user)
Decouple the logic of "getting the current user", e.g.:
Or even simpler:
Use an IoC container to wire things up.