无法在我的存储库模型类中获取当前用户的用户名

时间:2013-07-23 15:24:50

标签: asp.net-mvc

我有以下内容在我的存储库方法中创建日志信息: -

var currentUser = User.Identity.Name;

var auditinfo = IntiateAudit(tms.AuditActions.SingleOrDefault(a => a.Name.ToUpper() == "DELETE").ActionID, tms.TechnologyTypes.SingleOrDefault(a => a.Name.ToUpper() == "Server").AssetTypeID, currentUser, server.ServerID);

但是我无法在我的存储库方法中获取User.Identity.Name的值,而我可以在我的控制器操作方法中这样做?

1 个答案:

答案 0 :(得分:3)

你不能,因为你需要引用HttpContext。如果您在存储库中执行此操作,则可以:

string name = HttpContext.Current.User.Identity.Name; 

但是,我会远离这个,因为你需要在你的存储库类中引用System.Web,它应该是一个完全不同的项目的一部分,甚至不应该开始引用System.Web。 / p>