我正在尝试解决问题:当用户登录WebSite时(通过存储在母版页上的用户控件.ascx),它的名称存储在Page.User.Identity.Name属性中。好的,但是如何在控制器中检索该用户名?是否可以在控制器中注册System.Security.Principal命名空间?换句话说 - 控制器必须知道谁的用户想要做某些动作(例如改变账户数据)。我可以将它的名字存储在每个View的Html.Hidden控件中,但我不希望在我的视图中弄得一团糟
答案 0 :(得分:5)
IPrincipal User
是控制器中的一个成员(它是一个属性),因此您需要做的就是在控制器方法中获取当前登录用户的名称
string userName = User.Identity.Name
答案 1 :(得分:1)
Thread
类:
System.Threading.Thread.CurrentPrincipal.Identity.Name
答案 2 :(得分:0)
您是否考虑过使用会话来存储与用户相关的数据?