В ASP.NET MVC на Хансельман пример скотта показывает, как показать мини-профайлер для местного environmnetпозволяют мини-профайлер только для определенных пользователей и ролей
protected void Application_BeginRequest()
{
if (Request.IsLocal) { MiniProfiler.Start(); } //or any number of other checks, up to you
}
Но, я хотел бы пойти на шаг дальше и иметь возможность видеть его удаленно, только для определенных зарегистрированных пользователей или ips.
Любая идея как?
Обновление: Я использовал следующий код:
protected void Application_EndRequest()
{
MiniProfiler.Stop(); //stop as early as you can, even earlier with MvcMiniProfiler.MiniProfiler.Stop(discardResults: true);
}
protected void Application_PostAuthorizeRequest(object sender, EventArgs e)
{
if (!IsAuthorizedUserForMiniProfiler(this.Context))
{
MiniProfiler.Stop(discardResults: true);
}
}
private bool IsAuthorizedUserForMiniProfiler(HttpContext context)
{
if (context.User.Identity.Name.Equals("levalencia"))
return true;
else
return context.User.IsInRole("Admin");
}
Как я могу получить текущего пользователя от global.asax? –
Пользователь не является классом внутри запроса? Мне не хватает ссылки на сборку или использование, я полагаю? –
Я вижу это: context.Request.LogonUserIdentity.User., Может быть, это работает для пользователя, но метод IsInRole не существует, когда я пытаюсь использовать это. –