reactjs - React 应用中的身份验证和授权
问题描述
在 .NET 应用程序中,我可以使用 web.config 和/或 IIS 添加身份验证和授权。我还可以[Authorize (Roles = "RoleABC")]
在 MVC 应用程序的控制器或操作中使用。甚至延长AuthorizationAttribute
我正在研究创建一个供 Intranet 使用的 React 应用程序,并阅读这些教程(ReactJS和MS),但找不到身份验证/授权详细信息。
即使应用程序将是单页应用程序,我仍然希望对应用程序中的某些选项进行身份验证和授权用户,就像我可以在 MVC 应用程序中一样。
这样做的唯一选择是创建 Blazor 应用程序吗?
解决方案
对于身份验证和授权,您应该使用身份验证令牌(如 JWT)。当客户端登录系统并将其发送给客户端时,您的后端应该创建一个身份验证令牌。您的服务器还应该将经过身份验证的用户信息发送到客户端(react 应用程序),以便您可以根据用户类型呈现正确的页面。例如,您可以为管理员类型的用户呈现管理页面,为访客类型的用户呈现访客页面。您可以在 Redux 中将此用户数据保存为 JSON。因此,您可以从反应的任何组件访问用户数据。此外,在您的后端,您必须根据客户端发送的身份验证令牌限制端点。在我的应用程序的后端,我按照以下步骤操作:
Authentication check -> Authorization check -> controller (endpoint) -> result
推荐阅读
- python - 如何修复不平衡的列 MultiIndex?
- android - 从 AlarmReceiver 中的其他 Activity 调用方法
- php - 编程中类似的变量或文件名
- rust - 如何在新线程中调用递归闭包?
- reactjs - 在某些特定用户中隐藏菜单栏
- sorting - 将随机数生成到打印到 Txt 文件的数组中。在点击文本文件之前,需要对数字进行排序
- python - 根据外键对django对象进行分组
- ruby-on-rails - 跳过零类 Rails 3 的唯一性验证
- c - malloc 后堆中断不会改变
- python - 在 Python 3 中将文件内容写入文件时显示空白列表 [] [] [] []?