BeetleX.FastHttpApi之JWT和自定义访问验证
??????? BeetleX.FastHttpApi.Jwt組件是BeetleX.FastHttpApi的JWT安全驗證插件,通組件的簡單配置即可以實現對webapi進行安全訪問控制。接下來介紹如何使用這組件并和其他自定義驗證兼容。
使用
????????本示例需要引用兩個組件分別是:BeetleX.FastHttpApi.Hosting和BeetleX.FastHttpApi.Jwt。前者是簡單托管服務構建,后者則是JWT驗證。引用組件后可以在main訪問編寫以下代碼
通過HttpApiServer對象的UseJWT方法開啟相關驗證,當開戶后所有控制器訪問都必須獲取JWT許可(包括cookie或頭部Authorization包括相關憑證)。
控制器
? ? ? ??當開啟JWT后默認情況下控制器所有方法都需要經過驗證,但可以通過組件提供的Attribute來更改相關驗證方式。
可以通過[AuthMark(AuthMarkType.NoValidation)]標記方法或整個API不進行驗證處理。還可以通過?[AuthMark(AuthMarkType.Admin)]來標記方法訪問的角色必須是admin。以上代碼是把Login標記為不需要驗證,然后在方法中調用SetAdminJwtToken或SetJwtToken方法來設置當前會話的登陸憑證。
其他驗證
????????有時候希望個別API兼容其他驗證方式,這個時候可以在UseJWT轉入一個處理函數。
可以在方法中調用Success或Failure來告訴組件自定義驗證情況,如果這兩個方法都不調用的情況下會路由回默認的JWT驗證。
完整示例?
https://github.com/beetlex-io/BeetleX-Samples/tree/master/Web.JWT
總結
以上是生活随笔為你收集整理的BeetleX.FastHttpApi之JWT和自定义访问验证的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows 11 预览版 Build
- 下一篇: 合集 | 我在传统行业做数字化转型