bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

如何配置Swagger?-創(chuàng)新互聯(lián)

Swagger 注冊(cè):

成都創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái),先為成都等服務(wù)建站,成都等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢(xún)服務(wù)。為成都企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
     services.AddSwaggerGen(c =>
     {
       c.OperationFilter<HttpAuthHeaderFilter>();
       var security = new Dictionary<string, IEnumerable<string>> { { "Bearer", new string[] { } }, };
       c.AddSecurityRequirement(security);
       //添加一個(gè)必須的全局安全信息
       //,和AddSecurityDefinition方法指定的方案名稱(chēng)要一致,
       //這里是Bearer。
       c.DescribeStringEnumsInCamelCase();
       c.DescribeAllParametersInCamelCase();
       c.DescribeAllEnumsAsStrings();
       c.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info
       {
         Title = "接口文檔",
         Version = "v1",
         Description = "YiSpace  LazyCoder is Make",
       });

       string[] files = Directory.GetFiles(AppContext.BaseDirectory, "*.xml");
       //  var xmlFile = $"{Assembly.GetExecutingAssembly().GetName().Name}.xml";
       //  var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
       foreach (var item in files)
       {
         c.IncludeXmlComments(item, true);
       }
       //var xmlPath = Path.Combine(AppContext.BaseDirectory, "");
       //c.IncludeXmlComments(xmlPath);
       //var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
       //c.IncludeXmlComments(xmlPath);
       // c.IgnoreObsoleteActions();
       c.AddSecurityDefinition("Bearer", new ApiKeyScheme
       {
         Description = "權(quán)限認(rèn)證(數(shù)據(jù)將在請(qǐng)求頭中進(jìn)行傳輸) 參數(shù)結(jié)構(gòu): \"Authorization: Bearer {token}\"",
         Name = "Authorization",//jwt默認(rèn)的參數(shù)名稱(chēng)
         In = "header",//jwt默認(rèn)存放Authorization信息的位置(請(qǐng)求頭中)
         Type = "apiKey"
       });//Authorization的設(shè)置

     });

?  c.OperationFilter<HttpAuthHeaderFilter>(); 這只是一個(gè)自定義個(gè) Paramater 的過(guò)濾器.用戶(hù)為哦通用添加 信息,為特定Filter 添加信息用

? var security = new Dictionary<string, IEnumerable<string>> { { "Bearer", new string[] { } }, };
         c.AddSecurityRequirement(security);
         //,和AddSecurityDefinition方法指定的方案名稱(chēng)要一致,
         //這里是Bearer。這也是我們之后看見(jiàn)的, Authore.Lock 的原因.因?yàn)?我們是開(kāi)發(fā)的API 有些必須要有 認(rèn)證所以我就添加了全局的注冊(cè).
? 一下這些 就是類(lèi)型轉(zhuǎn)化的配置 
c.DescribeStringEnumsInCamelCase();
     c.DescribeAllParametersInCamelCase();
     c.DescribeAllEnumsAsStrings();
?  中間的就不用說(shuō)了Asp.net Core 官網(wǎng)上都有
?  
 c.AddSecurityDefinition("Bearer", new ApiKeyScheme
         {
           Description = "權(quán)限認(rèn)證(數(shù)據(jù)將在請(qǐng)求頭中進(jìn)行傳輸) 參數(shù)結(jié)構(gòu): \"Authorization: Bearer {token}\"",
           Name = "Authorization",//jwt默認(rèn)的參數(shù)名稱(chēng)
           In = "header",//jwt默認(rèn)存放Authorization信息的位置(請(qǐng)求頭中)
           Type = "apiKey"
         });//Authorization的設(shè)置
這是核心的因?yàn)橛辛怂艜?huì)有可定制的 UI 否者不會(huì)有我們先看到.
? 同時(shí)我個(gè)人還沒(méi)有就為單個(gè)api 添加 Token 開(kāi)關(guān). 也不不知如何添加 

這樣我們的東西可以用了但是要注意 這里用是 jwt  Bearer 他提交時(shí)是沒(méi)有給你添加Bearer 所以在使用時(shí) Authorization: Bearer {token} 需要自己加上 Bearer

 延續(xù)
看了一下代碼,突來(lái)了點(diǎn)靈感 實(shí)現(xiàn)了一下單個(gè)Action 的 token 認(rèn)證 這個(gè)我們需要用到. IOperationFilter

/// <summary>
/// swagger 增加 AUTH 選項(xiàng)
/// </summary>
public class HttpAuthHeaderFilter : IOperationFilter
{     public void Apply(Operation operation, OperationFilterContext context)
   {       var HasAuth = context.ApiDescription.ActionDescriptor.FilterDescriptors.Any(t => t.Filter is Microsoft.AspNetCore.Mvc.Authorization.AuthorizeFilter);
     if (HasAuth)
     {
       //operation.Security =new  
       var security = new Dictionary<string, IEnumerable<string>> { { "Bearer", new string[] { } }, };
       var ls = new List<IDictionary<string, IEnumerable<string>>>();
       ls.Add(security);
       operation.Security = ls;        
     }
    }
}
  operation.Security = ls;      就是安全認(rèn)證的信息 配置,我沒(méi)找到 api doc ,

有了他
我們還要把 :
c.AddSecurityRequirement(security);
注釋了,因?yàn)樗麜r(shí)注冊(cè)全局的 身份認(rèn)賬.
其他的就不用做修改了, 這里我比較懶  和和代碼的容易理解 沒(méi)有 把配置信息 list 防止到全局,但也沒(méi)有大問(wèn)題,畢竟用一次

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。

分享題目:如何配置Swagger?-創(chuàng)新互聯(lián)
轉(zhuǎn)載來(lái)源:http://vcdvsql.cn/article30/cdjgso.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司自適應(yīng)網(wǎng)站網(wǎng)站建設(shè)網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)推廣服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作