前言
很多時候其實(shí)我們并不需要asp.net core自帶的那么復(fù)雜的用戶系統(tǒng),基于角色,各種概念,還得用EF Core,而且在web應(yīng)用中都是把信息存儲到cookie中進(jìn)行通訊(我不喜歡放cookie中,因?yàn)橛写挝以趍ac系統(tǒng)中的safari瀏覽器運(yùn)行web應(yīng)用時,碰到跨域cookie設(shè)不上,非要使用個很特殊的方法,記得是iframe,挺麻煩的,所以我還是喜歡放自定義header中), 用了以后感覺被微軟給綁架了。不過這完全是個人喜好,大家完全可以按自己喜歡的來,我這里提供了另外一條路,大家可以多一種選擇。
我這邊是利用asp.net core的依賴注入,定義了一套屬于自己系統(tǒng)的用戶認(rèn)證與授權(quán),大家可以參考我這個來定義自己的,也不局限于用戶系統(tǒng)。
面向切面編程(AOP)
在我看來,Middleware與Filter都是asp.net core中的切面,我們可以把認(rèn)證與授權(quán)放到這兩塊地方。我個人比較喜歡把認(rèn)證放到Middleware,可以提早把那些不合法的攻擊攔截返回。
依賴注入(DI)
依賴注入有3種生命周期
1. 在同一個請求發(fā)起到結(jié)束。(services.AddScoped)
2. 每次注入的時候都是新建。(services.AddTransient)