首页 > 解决方案 > React 应用中的身份验证和授权

问题描述

在 .NET 应用程序中,我可以使用 web.config 和/或 IIS 添加身份验证和授权。我还可以[Authorize (Roles = "RoleABC")]在 MVC 应用程序的控制器或操作中使用。甚至延长AuthorizationAttribute

我正在研究创建一个供 Intranet 使用的 React 应用程序,并阅读这些教程(ReactJSMS),但找不到身份验证/授权详细信息。

即使应用程序将是单页应用程序,我仍然希望对应用程序中的某些选项进行身份验证和授权用户,就像我可以在 MVC 应用程序中一样。

这样做的唯一选择是创建 Blazor 应用程序吗?

标签: reactjsasp.net-mvcasp.net-core

解决方案


对于身份验证和授权,您应该使用身份验证令牌(如 JWT)。当客户端登录系统并将其发送给客户端时,您的后端应该创建一个身份验证令牌。您的服务器还应该将经过身份验证的用户信息发送到客户端(react 应用程序),以便您可以根据用户类型呈现正确的页面。例如,您可以为管理员类型的用户呈现管理页面,为访客类型的用户呈现访客页面。您可以在 Redux 中将此用户数据保存为 JSON。因此,您可以从反应的任何组件访问用户数据。此外,在您的后端,您必须根据客户端发送的身份验证令牌限制端点。在我的应用程序的后端,我按照以下步骤操作:

Authentication check -> Authorization check -> controller (endpoint) -> result

推荐阅读