vue+webapi+jwt做token驗證時需要注意的一些問題


本人水平實在很菜,屬於百度了代碼拿來會用的水平,而jwt做token驗證又是繞不過去的,所以硬着頭皮也得看着別人的貼弄出來,下面是一定要看的神貼

Asp.Net Core 3.1學習-Web Api 中基於JWT的token驗證及Swagger使用 (4)

你只需要看完第4小節就可以了,4、Api中過濾器實現通用token驗證

照着他的例子一步一步來就行,基本上可以弄的很成功,我的目錄結構如下圖

 

 

需要注意的地方:

1、驗證前端傳遞的token

例子中使用的是$ajax在前端提交數據,不論是get還是post,它都可以拼接url字符串,但是如果你使用的是Axios來post數據的話,那就無法拼接字符串了,導致按他的例子你在過濾器中獲取不到前端傳遞的token

 

 獲取不到就沒法驗證傳遞的token,axios的攔截器也不會寫,只好用笨辦法了,在每一個實體類中都增加了一個token字段,然后在axios提交數據時把它帶上,然后在攔截器這里取出來,需要注意的是token區分大小寫,不然會出錯。

 public class UserStr 
        { 
            public string Token { get; set; }
            public string User { get; set; }
            public string QListID { get; set; }
        }

修改攔截器中的代碼

 

 那上邊的user是啥了,就是你自己在使用實體類時起的名字,不管哪個實體類,在用的時候都叫user就行了

 

 

2、System.Type.GetProperty(...) 返回 null

如果你的前端在post數據到不同的api時,有些能用,有些不能用返回上面的錯誤的話,那說明你實體類中定義的token沒有區分大小寫,可能有些大寫了,有些小寫了,才會造成這種問題。

還是好好看下axios的攔截器吧,就不會存在這樣的問題了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM