【发布时间】:2011-11-22 11:19:21
【问题描述】:
我已经覆盖了检查某些会话数据是否存在的控制器。存储库需要此数据才能正常工作,因此如果它不存在,则应在检查后注销用户。
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
base.Initialize(requestContext);
if (Session["CompanyID"] != null)
{
repo.CompanyID = (long)Session["CompanyID"];
}
else
{
RedirectToAction("LogOff", "Account");
}
}
我的代码看起来像这样,但是即使调用了 RedirectToAction,控制器仍然会打开默认操作并且用户没有注销。 你能推荐一下如何处理这个问题吗?
我以这种方式使用此会话数据,因为这是我知道的第一个可以访问它的地方,在这里我可以检查此特定数据是否存在。它是在用户登录时写入的。
此数据是数据库中用户的一部分。我已经创建了一个自定义成员和角色提供者。有没有办法以某种方式将此数据添加到 MembershipUser 类型的“用户”,以便可以在构造函数中访问它,如用户用户名?
【问题讨论】:
标签: asp.net-mvc asp.net-mvc-3 controller asp.net-membership session-variables