1

功能标志或功能切换非常适合管理谁可以看到什么功能。这个问题的想法是我们可以使用相同的功能标志工具来管理授权/用户权限。

例如,我们可以使用一些功能标志工具来控制对管理页面的访问吗?如果不是,不使用它的原因是什么?

4

1 回答 1

1

如果您不需要强大的授权系统,使用 Feature Flag 进行授权是一个很好的解决方案。假设您已经知道有关用户的一些信息,那么您可以评估要关联到管理员权限的属性的功能标志,例如电子邮件地址或帐户 ID,并授予用户访问应用程序管理页面的权限。

例如,使用 DevCycle React SDK ( https://docs.devcycle.com/docs/sdk/client-side-sdks/react ),您可以使用电子邮件地址识别用户:

const variableKey = 'admin-permission'                             
const defaultValue = false                                        
const featureVariable = useDVCVariable(variableKey, defaultValue) 
                                                                  
const client = useDVCClient()                                     
                                                                  
useEffect(() => {                                                 
  const newUser = {                                               
    user_id: 1,                                
    email: 'test@example.com',                                             
  }                                                               
  if (client) {                                                   
    client.identifyUser(newUser)                                  
        .then((variables) => {                                    
          console.log('Updated Variables:', variables)            
        })                                                        
  }                                                               
}, [client]);                                                     

然后,您可以设置用户定位以返回电子邮件地址中true包含的用户。example.com

建筑注意事项:

权限通常与应用程序的用户管理系统紧密耦合,因此通常会将其放在那里,以及用户管理自己和其他用户权限的能力。当您在应用程序中构建权限管理功能时,在短期内使用功能标志进行身份验证是一个很好的解决方案,我认为在架构上直接将其构建到您的应用程序中或使用目的构建框架会更好。

于 2022-02-04T17:49:31.993 回答