asp.net-core - 将 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();
我想通过一些选项查看迷你分析器信息:
- http://localhost:5050/profiler/results-index --> 显示调用的列表方法
- http://localhost:5050/swagger/index.html --> 在同一页面中显示 MiniProfiler
环境:
.NET Core version: 3.1
MiniProfiler version: MiniProfiler.AspNetCore.Mvc v.4.2.1
Operative system: Windows 10
解决方案
我只想保留从活动目录中读取该组的跟踪的选项:
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();
推荐阅读
- mysql - 如何在我的 sql 中有效地删除数据而不消耗时间
- angular - Angular 2+ 中客户端的动态元标记
- docker - 有没有办法在 Jitsi 中拥有易于扩展的客户端?
- python - 欧拉-马斯切罗尼常数
- algorithm - 在这种情况下,我们如何检测这些点?
- android - 任务“:app:mergeDevDebugResources”执行失败
- git - 更改分支时不要删除 .gitignore 中的本地文件
- angular - Angular/HTML 中的 NgIf 和 NgElse
- javascript - 如何安全地公开显示 Firestore 子集合的 UID
- python - 如何为 scipy.signal.find_peaks 指定阈值