首页 > 解决方案 > 将 MiniProfiler 与 .NetCore 3.1 集成

问题描述

我想集成 MiniProfiler 是一个 WebApi 或者 View /XX/results-index。WebApi 使用承载令牌进行身份验证。我只希望 Active Directory 中的组用户可以看到结果,但我不明白。

我在 ServicesCollection 中有这段代码:

services.AddMiniProfiler(options =>
{
   options.RouteBasePath = "/profiler";
   options.ResultsAuthorizeAsync = async request => await GetAuthorization(request);            }).AddEntityFramework();

private static async Task<bool> GetAuthorization(HttpRequest request)
{
 //   var user = request.HttpContext.User.Identity.Name; --> Is null
   return true;
}

在启动中的配置方法中:

app.UseSwagger().UseSwaggerUI(options =>
{
   options.SwaggerEndpoint($"/swagger/v1/swagger.json", $"{env.ApplicationName} V1");
   options.OAuthClientId("TestApiswaggerui");
   options.OAuthAppName("TestApi Swagger UI");
   options.IndexStream = () => GetType().GetTypeInfo().Assembly.GetManifestResourceStream(
                        "TestApi.SwaggerMiniProfiler.html");
})
.UseMiniProfiler();

我想通过一些选项查看迷你分析器信息:

环境:

.NET Core version: 3.1
MiniProfiler version: MiniProfiler.AspNetCore.Mvc v.4.2.1
Operative system: Windows 10

标签: asp.net-coremvc-mini-profilerminiprofiler

解决方案


我只想保留从活动目录中读取该组的跟踪的选项:

 services.AddMiniProfiler(options =>
                    {
                        // (Optional) Path to use for profiler URLs, default is /mini-profiler-resources
                        options.RouteBasePath = "/profiler";

                        options.ColorScheme = StackExchange.Profiling.ColorScheme.Light;
                        options.PopupRenderPosition = StackExchange.Profiling.RenderPosition.BottomLeft;
                        options.PopupShowTimeWithChildren = true;
                        options.PopupShowTrivial = true;
                        options.ShouldProfile = ShowProfile;
                        options.SqlFormatter = new StackExchange.Profiling.SqlFormatters.InlineFormatter();

                        options.ResultsAuthorize = request => request.HttpContext.User.IsInRole("S-INFORMATICA");
 })
                    .AddEntityFramework();

推荐阅读