中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

.net core 1.0 實現單點登錄負載多服務器
來源:易賢網 閱讀:1338 次 日期:2016-08-05 14:17:48
溫馨提示:易賢網小編為您整理了“.net core 1.0 實現單點登錄負載多服務器”,方便廣大網友查閱!

這篇文章主要介紹了.net core 1.0 實現單點登錄負載多服務器的相關資料,非常不錯,具有參考借鑒價值,感興趣的朋友可以參考下

前言

.net core 出來有一時間了,這段時間也一直在做技術準備,目前想做一個單點登錄(SSO)系統,在這之前用.net時我用習慣了machineKey ,也順手在.net core 中嘗試了一上,結果發現不好使了,也不起作用,于是開始了網上學習。

實現方法

功夫不負有心人,網上高人還是多,在github.com上面ISSUES中也有人在討論此問題,于是找到代碼嘗試,結果實現了。

直接上代碼,我們需要先封裝一個XmlRepository,Key的格式如下:

<?xml version="1.0" encoding="utf-8"?>

<key id="cbb8a41a-9ca4-4a79-a1de-d39c4e307d75" version="1">

 <creationDate>2016-07-23T10:09:49.1888876Z</creationDate>

 <activationDate>2016-07-23T10:09:49.1388521Z</activationDate>

 <expirationDate>2116-10-21T10:09:49.1388521Z</expirationDate>

 <descriptor deserializerType="Microsoft.AspNetCore.DataProtection.AuthenticatedEncryption.ConfigurationModel.AuthenticatedEncryptorDescriptorDeserializer, Microsoft.AspNetCore.DataProtection, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60">

  <descriptor>

   <encryption algorithm="AES_256_CBC" />

   <validation algorithm="HMACSHA256" />

   <masterKey p4:requiresEncryption="true" xmlns:p4="http://schemas.asp.net/2015/03/dataProtection">

    <!-- Warning: the key below is in an unencrypted form. -->

    <value>WYgZNh/3dOKRYJ1OAhVqs56pWPMHei15Uj44DPLWbYUiCpNVEBwqDfYAUq/4jBKYrNoUbaRkGY5o/NZ6a2NTwA==</value>

   </masterKey>

  </descriptor>

 </descriptor>

</key>

XmlRepository代碼:

public class CustomFileXmlRepository : IXmlRepository

  {

    private readonly string filePath = @"C:\keys\key.xml";

    public virtual IReadOnlyCollection<XElement> GetAllElements()

    {

      return GetAllElementsCore().ToList().AsReadOnly();

    }

    private IEnumerable<XElement> GetAllElementsCore()

    {

      yield return XElement.Load(filePath);

    }

    public virtual void StoreElement(XElement element, string friendlyName)

    {

      if (element == null)

      {

        throw new ArgumentNullException(nameof(element));

      }

      StoreElementCore(element, friendlyName);

    }

    private void StoreElementCore(XElement element, string filename)

    {

    }

  }

Startup代碼:

public class Startup

  {

    public Startup(IHostingEnvironment env)

    {

      var builder = new ConfigurationBuilder()

        .SetBasePath(env.ContentRootPath)

        .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)

        .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)

        .AddEnvironmentVariables();

      Configuration = builder.Build();

    }

    public IConfigurationRoot Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.

    public void ConfigureServices(IServiceCollection services)

    {

      services.AddSingleton<IXmlRepository, CustomFileXmlRepository>();

      services.AddDataProtection(configure =>

      {

        configure.ApplicationDiscriminator = "Htw.Web";

      });

      // Add framework services.

      services.AddMvc();

    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)

    {

      loggerFactory.AddConsole(Configuration.GetSection("Logging"));

      loggerFactory.AddDebug();

      if (env.IsDevelopment())

      {

        app.UseDeveloperExceptionPage();

        app.UseBrowserLink();

      }

      else

      {

        app.UseExceptionHandler("/Home/Error");

      }

      app.UseStaticFiles();

      app.UseCookieAuthentication(new CookieAuthenticationOptions()

      {

        AuthenticationScheme = CookieAuthenticationDefaults.AuthenticationScheme,

        LoginPath = new PathString("/Account/Unauthorized/"),

        AccessDeniedPath = new PathString("/Account/Forbidden/"),

        AutomaticAuthenticate = true,

        AutomaticChallenge = false,

        CookieHttpOnly = true,

        CookieName = "MyCookie",

        ExpireTimeSpan = TimeSpan.FromHours(2),

#if !DEBUG

        CookieDomain="h.cn",

#endif

        DataProtectionProvider = null

      });

      app.UseMvc(routes =>

      {

        routes.MapRoute(

          name: "default",

          template: "{controller=Home}/{action=Index}/{id?}");

      });

    }

  }

登錄代碼:

public async void Login()

  {

    if (!HttpContext.User.Identities.Any(identity => identity.IsAuthenticated))

    {

      var user = new ClaimsPrincipal(new ClaimsIdentity(new[] { new Claim(ClaimTypes.Name, "bob") }, CookieAuthenticationDefaults.AuthenticationScheme));

      await HttpContext.Authentication.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, user);

      HttpContext.Response.ContentType = "text/plain";

      await HttpContext.Response.WriteAsync("Hello First timer");

    }

    else

    {

      HttpContext.Response.ContentType = "text/plain";

      await HttpContext.Response.WriteAsync("Hello old timer");

    }

  }

注意

C:\keys\key.xml 這個文件路徑可以更改,還有就是也可用共享目錄或數據庫來實現統一管理到此可以登錄試一下。

以上所述是小編給大家介紹的.net core 1.0 實現單點登錄負載多服務器的全部敘述,希望對大家有所幫助!

更多信息請查看網絡編程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
久久五月婷婷丁香社区| 久久精品亚洲国产奇米99| 久久激情视频免费观看| 韩国欧美一区| 国产精品久线观看视频| 欧美激情区在线播放| 久久亚洲一区二区| 久久精品国产99精品国产亚洲性色| 一区二区冒白浆视频| 一色屋精品视频免费看| 在线观看成人一级片| 曰本成人黄色| 最新热久久免费视频| 亚洲国产成人在线播放| 在线观看亚洲a| 在线日韩一区二区| 尤妮丝一区二区裸体视频| 狠狠色噜噜狠狠狠狠色吗综合| 国产欧美在线看| 亚洲第一福利社区| 日韩视频免费观看高清完整版| 在线亚洲电影| 欧美一区二区三区在线| 久久精品夜色噜噜亚洲aⅴ| 久久久精品久久久久| 欧美日韩亚洲视频一区| 国产一区二区三区四区三区四| 激情久久久久| 99精品99| 免费成人黄色av| 欧美三级特黄| 伊人久久久大香线蕉综合直播| 日韩午夜在线电影| 欧美资源在线观看| 欧美午夜美女看片| 日韩网站在线看片你懂的| 欧美在线视频播放| 欧美日韩不卡一区| 黄色在线成人| 亚洲免费在线看| 国产精品乱码| 亚洲桃花岛网站| 欧美成人小视频| 国产一区二区精品久久91| 夜夜躁日日躁狠狠久久88av| 男同欧美伦乱| 亚洲国产成人在线| 欧美成人免费网站| 亚洲国产视频一区| 欧美大片一区二区三区| 亚洲国产精品一区二区www| 久久久另类综合| 在线观看欧美一区| 欧美高清视频在线播放| 亚洲日本理论电影| 欧美日韩中文字幕综合视频| 亚洲一区bb| 国产一区二区三区视频在线观看| 性欧美长视频| 永久域名在线精品| 国产精品hd| 久久久亚洲一区| 香蕉久久精品日日躁夜夜躁| 欧美成人在线免费观看| 国产亚洲精品一区二区| 久久亚洲色图| 亚洲一区二区三区在线看| 国产欧美 在线欧美| 亚洲免费在线观看| 国内精品久久久久久久果冻传媒| 欧美日韩国产在线| 久久久一区二区| 久久久久久夜| 欧美日韩国产精品| 午夜精品婷婷| 亚洲欧洲一级| 国产一区二区精品丝袜| 欧美日本不卡高清| 免费观看在线综合色| 欧美一区二区三区另类| 夜夜嗨av一区二区三区| 91久久精品国产91久久| 亚洲激情二区| 亚洲自拍偷拍色片视频| 羞羞答答国产精品www一本| 欧美一站二站| 蜜桃久久av一区| 欧美日韩一区二区三区在线看 | 国产综合久久| 精品不卡一区| 亚洲少妇最新在线视频| 亚洲欧美一区二区精品久久久| 欧美专区亚洲专区| 美女网站在线免费欧美精品| 欧美日韩国产综合久久| 国产日产亚洲精品| 亚洲精品久久久久久久久| 午夜精品久久久久久久| 免费的成人av| 国产亚洲欧美一区二区三区| 亚洲精品小视频在线观看| 欧美一区三区三区高中清蜜桃 | 99精品国产福利在线观看免费 | 久久久精品国产免费观看同学 | 嫩草国产精品入口| 欧美日韩中文字幕日韩欧美| 黄色亚洲免费| 久久久久一区二区三区四区| 国产精品私房写真福利视频| 亚洲国产高潮在线观看| 久久久久成人网| 国内精品伊人久久久久av影院| 亚洲午夜在线观看| 欧美色图一区二区三区| 日韩午夜av在线| 国产精品久久97| 亚洲精品一区二区三区福利| 免费成人你懂的| 亚洲国产天堂网精品网站| 久久综合伊人77777蜜臀| 1024成人网色www| 免费亚洲电影在线| 最新日韩中文字幕| 欧美日韩免费在线观看| 亚洲视频在线视频| 国产亚洲精品久久久久久| 欧美一级网站| 在线精品亚洲| 欧美日韩激情小视频| 亚洲一区高清| 国产综合久久久久影院| 久久中文久久字幕| av成人免费在线| 国产精品人成在线观看免费 | 在线看片成人| 欧美精品午夜视频| 香港久久久电影| 亚洲美女电影在线| 国产亚洲精品bt天堂精选| 欧美成人久久| 亚洲欧美日韩中文在线制服| 国产一区二区三区精品久久久| 欧美激情性爽国产精品17p| 亚洲视频每日更新| 亚洲国产精品久久精品怡红院| 欧美午夜在线| 欧美激情视频给我| 欧美一区二区三区免费在线看| 亚洲国产国产亚洲一二三| 国产精品区一区| 国产精品久久久99| 国产精品swag| 国产精品第13页| 国产精品成人观看视频免费| 欧美成人午夜| 欧美成人综合一区| 久久综合伊人77777| 久久久午夜精品| 久久精品色图| 欧美成人激情在线| 欧美精品在线一区二区| 欧美激情精品久久久六区热门 | 樱桃成人精品视频在线播放| 欧美午夜精品理论片a级大开眼界| 久久只精品国产| 欧美大片一区二区| 欧美精品在线网站| 欧美日韩视频专区在线播放| 欧美日韩中文在线观看| 国产精品久久999| 国产手机视频一区二区| 影音先锋一区| 亚洲视频免费在线| 久久久久久久性| 欧美日韩在线三区| 国产综合色产| 亚洲香蕉成视频在线观看| 久久精品国产91精品亚洲| 国产精品麻豆欧美日韩ww | 99热免费精品| 亚洲午夜日本在线观看| 午夜日韩视频| 欧美91福利在线观看| 欧美日韩一区二区三| 国产日韩一区二区| 日韩一级免费| 免费人成精品欧美精品| 国产精品国产三级国产专区53 | 亚洲国产欧美在线| 亚洲欧美不卡| 欧美区一区二| 国产欧美一区二区白浆黑人| 国产精品人人爽人人做我的可爱| 国内精品久久久久久| 亚洲免费视频网站| 欧美成人免费在线观看| 国语自产在线不卡| 久久久久久日产精品| 国产精品一区二区久久久久| 99精品视频免费全部在线|