最後に、私はDelegtingHandler
でそれを解決し、ここで私はそれをやった方法です見に闊歩UIをロックダウンする方法について説明します。このリンクを取ることができます:
ファイルSwaggerAccessMessageHandler.cs
を作成し、App_Start
フォルダに追加します。ただ、次のように闊歩を有効にする前にSwaggeConfig.cs
でハンドラアップ
using System;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
public class SwaggerAccessMessageHandler : DelegatingHandler
{
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
if (IsSwagger(request) && !Thread.CurrentPrincipal.Identity.IsAuthenticated)
{
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.Redirect);
// Redirect to login URL
string uri = string.Format("{0}://{1}", request.RequestUri.Scheme, request.RequestUri.Authority);
response.Headers.Location = new Uri(uri);
return Task.FromResult(response);
}
else
{
return base.SendAsync(request, cancellationToken);
}
}
private bool IsSwagger(HttpRequestMessage request)
{
return request.RequestUri.PathAndQuery.Contains("/swagger");
}
}
次に、ワイヤー:
GlobalConfiguration.Configuration.MessageHandlers.Add(new SwaggerAccessMessageHandler());
GlobalConfiguration.Configuration.EnableSwagger(c =>
{
...
});
ページが正しくリダイレクトされていません – moudrick