只调用一次AuthorizeAttribute

时间:2016-01-07 22:42:32

标签: c# asp.net asp.net-mvc authorization

我们创建了自己的authorize属性,该属性继承自MVC中的AuthorizeAttribute。这是在控制器级别添加的。我们使用该属性来填充线程上的原则。

每次从高速缓存或db中检索用户时都会运行此方法。

public void AuthenticateAs(System.Web.HttpContextBase context, IPrincipal user) {
            Thread.CurrentPrincipal = context.User = user;
            Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo(((Entities.User)((SiteIdentity)user.Identity).User).Locale);
        }

我们注意到,当我们有一个有多个RenderAction调用的视图时,该属性被多次调用。

有没有办法阻止这种情况发生,即视图调用多个RenderAction方法然后使用初始IPrincipal?

0 个答案:

没有答案