隨著.net core2的發(fā)布,越來越多人使用.net core2開發(fā)各種應(yīng)用服務(wù)端,下面我就結(jié)合自己最近開發(fā)的一款小程序,給大家分享下,怎么使用小程序登錄后,小程序與服務(wù)端交互的權(quán)限控制。.net core 服務(wù)端的登錄設(shè)計如下 ...
隨著.net core2的發(fā)布,越來越多人使用.net core2開發(fā)各種應(yīng)用服務(wù)端,下面我就結(jié)合自己最近開發(fā)的一款小程序,給大家分享下,怎么使用小程序登錄后,小程序與服務(wù)端交互的權(quán)限控制。
net core 服務(wù)端,我們使用 JWT 搭建分布式無狀態(tài)身份驗證系統(tǒng)
1.首先在startup.cs中 ConfigureServices(IServiceCollection services) 中添加如下代碼
上述代碼中有一個 自定的 WabApiAuthroizeAttribute,具體實現(xiàn)代碼如下:
2.在 Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)中添加
3.我們要創(chuàng)建三個關(guān)于JWT的類
TokenEntity實體類,用來生成token實體,里面大家可在添加屬性
token提供屬性
里面有一些登錄相關(guān)代碼,大家可結(jié)合自己的程序進(jìn)行修改
這樣我們就完成了 JWT的三個相關(guān)類的設(shè)計。
以下就是我們的具體登錄驗證:
添加一個登錄webapi
登錄后返回一個 token實例,里面將包含我們之前創(chuàng)建的各個屬性,重點是access_token
返回的access_token,將在微信小程序中提交時附上,就可實現(xiàn)無狀態(tài)身份驗證。
那個其他webapi如何判斷身份驗證呢?很簡單,只要在每個webapi的類或?qū)傩陨咸砑哟藢傩约纯桑壓唵伟伞?/span>
[WebApiAuthorize]
比如我們有一個獲取小程序首頁滾動圖片鏈接的action:
如此這般即可
下面我們將講講,小程序如何登錄,如何身份認(rèn)證
小程序登錄界面
上面我們暫且不講,使用微信登錄的事,只講小程序如何使用我們應(yīng)用的賬號密碼進(jìn)行登錄:
小程序登錄代碼如下:
在小程序中,我們首先對小程序的網(wǎng)絡(luò)請求wx.request進(jìn)行封裝
那使用此類進(jìn)行登錄后,我們可以獲得返回的access_token,并將access_token保存起來,下次,請求其他動作時,將會自動在網(wǎng)絡(luò)頭header 附上token,就可使用身份驗證,非常簡單。
以上就是我所做的一個實例,因為代碼較多,有時沒有寫的很具體,如果大家還疑問,可以直接咨詢我。