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