启动时登录用户

时间:2015-05-08 19:09:32

标签: asp.net-mvc forms-authentication

public class MvcApplication : HttpApplication
{
    protected void Application_Start()
    {
        FormsAuthentication.SetAuthCookie(1.ToString(), true);
    }
}
  

发生了'System.Web.HttpException'类型的异常   System.Web.dll但未在用户代码中处理

     

其他信息:请求在此上下文中不可用

如何在不进行全新页面请求的情况下自动登录用户?

1 个答案:

答案 0 :(得分:0)

哪一部分让你感到困惑? Forms Auth需要一个请求才能工作。它的部分功能是向客户端发送cookie,如果没有客户端,它就不能很好地做到这一点。 Application_Start在请求之外运行,因此您无法从那里访问请求对象。即使你可以,也不会为每个请求运行,因此它只适用于导致它激活的第一个用户。

如果要以全局方式执行此操作,但在请求范围内,则需要使用自定义操作筛选器或自定义成员资格提供程序之类的内容。不确定哪种方式最适合或者即使动作过滤器可以工作,但这是你的选择。