存储临时自定义Windows身份验证角色

时间:2015-04-22 20:45:17

标签: asp.net-mvc-4 windows-authentication

我有一个MVC4项目,我在其中实现了question之后的自定义Windows身份验证。

一切正常,我创建了我的角色数据库等等。问题是我想暂时将角色存储到会话变量中,因为几乎每个控制器的操作都有一个身份验证属性,因此每个身份验证请求都会访问数据库,我不希望这样。

所有的魔法都发生在Application_AuthenticateRequest

protected void Application_AuthenticateRequest(object sender, EventArgs e)
    {
        if (Request.IsAuthenticated)
        {
            WindowsIdentity wi = (WindowsIdentity)HttpContext.Current.User.Identity;
            CustomPrincipal mp = new CustomPrincipal(wi);
            HttpContext.Current.User = mp;
        }

    }

在那个事件中,HttpContext.Session(尚未)可用,但是每个请求都先于此事件发生。

我想存储基于角色的会话,有没有办法做到这一点,或者我必须实现身份验证cookie才能实现这一目标?

谢谢!

0 个答案:

没有答案