Python 如何使用 JWT 实现基于角色的身份验证

How to Implement Role Based Authentication with JWT in Python

我希望在 Vue/FastApi 应用程序中实现基于角色的身份验证。我有在 asp.net 中使用 Web 表单的背景,根据用户是管理员、经理还是员工等来隐藏和显示某些表单相当简单。有没有办法做到这一点使用 Vue/FastApi 使用 JWT?

您必须将身份验证分成两部分:

  • 通过 Vuejs 进行身份验证。这独立于 fastapi。唯一共享的是登录时,vue 将验证到 fastapi(就像转发信息的中间人)。然后 Vue 将缓存接收到的 JWT 令牌(或接收到的任何令牌)并将其保存在会话中(这样在页面重新加载的情况下用户不必再次登录)。用户注销后,立即从 vue 应用程序中删除令牌。

  • 通过 FastAPI 进行身份验证。在这里,您只需使用用户名和密码进行身份验证,获取 JWT 令牌作为响应(或您想要的任何其他令牌)并将此类令牌用于以下请求。

基本上,一旦 vue 收到用户 - 密码,它就会向 fastapi api 进行身份验证,获取令牌并将其存储在某个地方(这取决于您如何实现它以及在 vuejs 上,我没有用过所以我不能说什么。

连接到您的后台,.net 表单等同于 vue 登录表单,但我建议您先阅读一些关于 vuejs 的教程,以便首先了解它的工作原理并正确理解它的工作原理以及实现某些目标的一些可能性。