[原創(chuàng)] IdentityServer4權(quán)限控制---使用 ASP.NET Core 的交互式應(yīng)用程序(四)
寫了半天,不小心一關(guān)瀏覽器,沒了!我也是醉了。。。又重新寫一遍吧! 前面三節(jié)課我們學(xué)習(xí)了用一個客戶端先去申請令牌,得到令牌后再去訪問API資源這樣一個簡單的流程,也是一個很常見的功能,通過前三節(jié)課的學(xué)習(xí),我們搭建了一臺API資源服務(wù)器,一臺IDS4SERVER身份認證服務(wù)器,這節(jié)課我們接著上面的內(nèi)容繼續(xù)學(xué)習(xí)一下交互式登錄的流程。 開始之前,我先交待一下今天的學(xué)習(xí)任務(wù)吧!今天我們要用前面的IDS4SERVER服務(wù)器為我們新建的一個站點完成身份驗證的過程,整個驗證過程中 ...
[原創(chuàng)] IdentityServer4權(quán)限控制---客戶端創(chuàng)建、獲取TOKEN及訪問API資源(三)
經(jīng)過前面兩節(jié)課,我們已經(jīng)完成了API服務(wù)器的搭建與IDS4身份驗證服務(wù)器的搭建,如果還沒有看的朋友請到這里圍觀: [原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之API服務(wù)器搭建(一) [原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之IDS4認證服務(wù)器搭建(二) API服務(wù)器是我們要保護的資源服務(wù)器,我們希望只授權(quán)給通過身份驗證的客戶端去訪問,而身份驗證的工作是由我們搭建的IDS4服務(wù)器來完成的。現(xiàn)在我們模擬一個場景,我們已經(jīng)將上面兩臺服務(wù)器成功部 ...
[原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之IDS4認證服務(wù)器搭建(二)
今天我們的實驗任務(wù)主要是搭建一臺IDS4用戶認證服務(wù)器,來對我們的資源服務(wù)器(API接口服務(wù)器)的資源進行保護,開始的前提是你得有一臺資源服務(wù)器,以方便后面的測試,如果還沒有,請參看這篇文章搭建: 使用客戶端憑證保護API資源: [原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之API服務(wù)器搭建(一) 廢話不多說,開始我們的正文吧。我們在電腦建立以下目錄D:\WEB\ID4\IDS4Server,然后創(chuàng)建我們的IDS4服務(wù)器,和上次的步驟差不多,我們用VS新建一個項目,選擇“ASP.NE ...
[原創(chuàng)] IdentityServer4權(quán)限控制---客戶端授權(quán)模式之API服務(wù)器搭建(一)
今天簡單的研究了一下IdentityServer4授權(quán)模式, 官網(wǎng)地址 在這里,有興趣的朋友看 官網(wǎng) ,要比我講的好多了。由于官網(wǎng)是英文的,看起來傷眼眼,又費時間,(其實最重要的是我英文水平不行)所以在這里,我嘗試用國人容易理解的方式簡單描述一下測試過程。在開始之前,我們先了解幾個基本概念及今天的主要實驗?zāi)康摹? 基本概念: API資源 :即,受保護的API資源,在這里主要是一臺服務(wù)器的API資源,如下圖所示: 總共有三個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 表達式拼接
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> /// 實現(xiàn)接口的Init方法 /// </summary> /// <param name="context"></param> public void Init(HttpApplication context) { //建立個委托讓他執(zhí)行下面的ReUrl_BeginRequ ...
[原創(chuàng)]c#后臺如何接收前臺AJAX傳過來的JSON參數(shù)?
如果前臺是用字符串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 ...