我在Base控制器上有一个User对象,这是.Net Membership Provider的标准用户对象类型。我需要这个决定用户是否可以访问操作,视图等。
我遇到了一个问题,我想在母版页上显示用户信息。就像WebForms的登录视图一样。我试图从主页面访问User对象,但我不能。
所以:
我是否通过检查用户是否已登录视图(简单if语句更改显示内容)来打破关注点分离。
我可以简单地访问基本控制器命名空间来访问此属性,还是有问题?控制器何时初始化?
当我写这篇文章时,我认为让我的基本控制器拥有这个属性可能是一个坏主意。
AGHH !!您将如何处理检查用户信息以更改主页面。
答案 0 :(得分:2)
使用此:
<% var user = ViewContext.HttpContext.User; %>