[原創(chuàng)] IdentityServer4權(quán)限控制---使用 ASP.NET Core 的交互式應(yīng)用程序(四)
寫了半天,不小心一關(guān)瀏覽器,沒了!我也是醉了。。。又重新寫一遍吧! 前面三節(jié)課我們學(xué)習(xí)了用一個(gè)客戶端先去申請(qǐng)令牌,得到令牌后再去訪問API資源這樣一個(gè)簡(jiǎn)單的流程,也是一個(gè)很常見的功能,通過前三節(jié)課的學(xué)習(xí),我們搭建了一臺(tái)API資源服務(wù)器,一臺(tái)IDS4SERVER身份認(rèn)證服務(wù)器,這節(jié)課我們接著上面的內(nèi)容繼續(xù)學(xué)習(xí)一下交互式登錄的流程。 開始之前,我先交待一下今天的學(xué)習(xí)任務(wù)吧!今天我們要用前面的IDS4SERVER服務(wù)器為我們新建的一個(gè)站點(diǎn)完成身份驗(yàn)證的過程,整個(gè)驗(yàn)證過程中 ...
[原創(chuàng)] IdentityServer4權(quán)限控制---客戶端創(chuàng)建、獲取TOKEN及訪問API資源(三)
經(jīng)過前面兩節(jié)課,我們已經(jīng)完成了API服務(wù)器的搭建與IDS4身份驗(yàn)證服務(wù)器的搭建,如果還沒有看的朋友請(qǐng)到這里圍觀: [原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之API服務(wù)器搭建(一) [原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之IDS4認(rèn)證服務(wù)器搭建(二) API服務(wù)器是我們要保護(hù)的資源服務(wù)器,我們希望只授權(quán)給通過身份驗(yàn)證的客戶端去訪問,而身份驗(yàn)證的工作是由我們搭建的IDS4服務(wù)器來完成的?,F(xiàn)在我們模擬一個(gè)場(chǎng)景,我們已經(jīng)將上面兩臺(tái)服務(wù)器成功部 ...
[原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之IDS4認(rèn)證服務(wù)器搭建(二)
今天我們的實(shí)驗(yàn)任務(wù)主要是搭建一臺(tái)IDS4用戶認(rèn)證服務(wù)器,來對(duì)我們的資源服務(wù)器(API接口服務(wù)器)的資源進(jìn)行保護(hù),開始的前提是你得有一臺(tái)資源服務(wù)器,以方便后面的測(cè)試,如果還沒有,請(qǐng)參看這篇文章搭建: 使用客戶端憑證保護(hù)API資源: [原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之API服務(wù)器搭建(一) 廢話不多說,開始我們的正文吧。我們?cè)陔娔X建立以下目錄D:\WEB\ID4\IDS4Server,然后創(chuàng)建我們的IDS4服務(wù)器,和上次的步驟差不多,我們用VS新建一個(gè)項(xiàng)目,選擇“ASP.NE ...
[原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之API服務(wù)器搭建(一)
今天簡(jiǎn)單的研究了一下IdentityServer4授權(quán)模式, 官網(wǎng)地址 在這里,有興趣的朋友看 官網(wǎng) ,要比我講的好多了。由于官網(wǎng)是英文的,看起來傷眼眼,又費(fèi)時(shí)間,(其實(shí)最重要的是我英文水平不行)所以在這里,我嘗試用國(guó)人容易理解的方式簡(jiǎn)單描述一下測(cè)試過程。在開始之前,我們先了解幾個(gè)基本概念及今天的主要實(shí)驗(yàn)?zāi)康摹? 基本概念: API資源 :即,受保護(hù)的API資源,在這里主要是一臺(tái)服務(wù)器的API資源,如下圖所示: 總共有三個(gè)API資源,分別是: https://localhost:6001/ ...
給網(wǎng)站加上API可視化工具
API接口可初化工具 引入Swashbuckle.AspNetCore,然后: public void ConfigureServices(IServiceCollection services) { services.AddControllersWithViews(); services.AddEndpointsApiExplorer();//API接口預(yù)覽 services.AddSwaggerGen(c=> { c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Version="V1", Title="WinsMVC API 接 ...
c# lamuda 表達(dá)式拼接
public static Expression<Func<T, bool>> Or<T>(this Expression<Func<T, bool>> expression1, Expression<Func<T, bool>> expression2) { var invokedExpression = Expression.Invoke(expression2, expression1.Parameters.Cast<Expression>()); return Expression.Lambda<Func<T, bool>>(Expression.Or(expression1.Body, invokedExpression), expression1.Parameters); } public static Expression<Func<T, bool>> And<T>(this Express ...
C# UrlRewrite
using System;using System.Web;using System.Text.RegularExpressions;using System.Xml;/// <summary>///UrlRewrit /// </summary>namespace qhwins.SEO{ //繼承自IHttpModule接口 public class HttpModule : System.Web.IHttpModule { /**//// <summary> /// 實(shí)現(xiàn)接口的Init方法 /// </summary> /// <param name="context"></param> public void Init(HttpApplication context) { //建立個(gè)委托讓他執(zhí)行下面的ReUrl_BeginRequ ...
[原創(chuàng)]c#后臺(tái)如何接收前臺(tái)AJAX傳過來的JSON參數(shù)?
如果前臺(tái)是用字符串a(chǎn)jax提交,則一般是如下的寫法: $.ajax({ url:'/Account/Authenticate', type: "post", data: JSON.stringify({"kid":cid,"UserName":encrypted_u, "PassWord":encrypted_p }), dataType: "json", contentType: "application/json;charset=UTF-8 ...