Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何将用户重定向到其组织&x2019;s网页_Reactjs_Firebase_React Router_Firebase Authentication_Firebase Security - Fatal编程技术网

Reactjs 如何将用户重定向到其组织&x2019;s网页

Reactjs 如何将用户重定向到其组织&x2019;s网页,reactjs,firebase,react-router,firebase-authentication,firebase-security,Reactjs,Firebase,React Router,Firebase Authentication,Firebase Security,我正在使用Firebase进行用户身份验证 假设我有几个组织使用一个应用程序,每个组织都有自己的员工数量。我想知道将用户重定向到其组织的web应用程序实例的最佳模式是什么 我的数据库具有以下路径/表: /OrganizationA/somedata /organizationB/somedata /organizationC/somedata 假设Alex属于组织A,他进入我的网站/登录并输入用户名和密码。我怎么知道我应该把他转到A组织 我的直觉是我应该有一张桌子 /profiles/user

我正在使用Firebase进行用户身份验证

假设我有几个组织使用一个应用程序,每个组织都有自己的员工数量。我想知道将用户重定向到其组织的web应用程序实例的最佳模式是什么

我的数据库具有以下路径/表:

/OrganizationA/somedata
/organizationB/somedata
/organizationC/somedata
假设Alex属于组织A,他进入我的网站/登录并输入用户名和密码。我怎么知道我应该把他转到A组织

我的直觉是我应该有一张桌子

/profiles/userId/somedata
因此,当用户成功登录时,我在此表中检查他有权访问的组织,然后将他重定向到该组织,再次假设他有权限

但是,在每个组织下,我都有一个employee表,其中包含与该员工相关的所有信息

/OrganizationA/employees/userId/userInfo
我想知道是否有更好的方法? 正如我提到的,我正在使用Firebase API来管理注册、登录、身份验证等


提前谢谢你

由于您使用Firebase进行用户身份验证,因此您应该能够在Firebase本身中将用户的配置文件作为用户属性进行维护

对于用户有资格访问的每个组织,他们可以在Firebase中保留相应的组织标识符作为用户属性

例如,用户X具有以下属性

组织键:{OrganizationA,OrganizationB}

用户Y必须具有以下属性

组织密钥:{OrganizationC}

一旦用户通过Firebase获得身份验证并访问您的web应用程序,您就可以访问应用程序中经过Firebase身份验证的用户的属性,并根据他们拥有的属性找到他们所属的组织,并决定将用户重定向到何处

更新:

同时,你在问题中描述的解决方案也不错。您可以在表中维护用户的访问权限详细信息 在您自己的应用程序中


如果您计划在将来使用不同的联邦身份验证提供程序替换Firebase身份验证,那么将用户配置文件保存在应用程序中您自己的表中可能更有意义。

因为您使用Firebase进行用户身份验证,您应该能够在Firebase本身中将用户的配置文件作为用户属性进行维护

对于用户有资格访问的每个组织,他们可以在Firebase中保留相应的组织标识符作为用户属性

例如,用户X具有以下属性

组织键:{OrganizationA,OrganizationB}

用户Y必须具有以下属性

组织密钥:{OrganizationC}

一旦用户通过Firebase获得身份验证并访问您的web应用程序,您就可以访问应用程序中经过Firebase身份验证的用户的属性,并根据他们拥有的属性找到他们所属的组织,并决定将用户重定向到何处

更新:

同时,你在问题中描述的解决方案也不错。您可以在表中维护用户的访问权限详细信息 在您自己的应用程序中


如果您计划在将来使用不同的联合身份验证提供程序替换Firebase身份验证,那么将用户配置文件保存在应用程序中您自己的表中可能更有意义。

如果不检查权限,您将读取已登录用户的属性,然后使用该属性的值,例如,
组织:“红色”
window.location.path=“/red”


权限,就您所指的Firebase安全规则而言,决定Firebase是否允许读取或写入请求的数据。

如果不检查权限,您将读取已登录用户的属性,然后使用该属性的值,例如
组织:“红色”
window.location.path=“/red”


权限(您指的是Firebase安全规则)决定Firebase是否允许读取或写入请求的数据。

Awesome!非常感谢你。真是太棒了!非常感谢你。这很有帮助,谢谢你澄清罗恩。:)非常有帮助。感谢您澄清罗恩。:)非常有用。