Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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
在iOS和Android上授予用户应用程序内部的管理员权限_Android_Ios_Database_Permissions - Fatal编程技术网

在iOS和Android上授予用户应用程序内部的管理员权限

在iOS和Android上授予用户应用程序内部的管理员权限,android,ios,database,permissions,Android,Ios,Database,Permissions,我们的应用程序需要处理两种类型的用户:管理员和非管理员。管理员应该看到非管理员看不到的接口元素。管理员应该能够通过应用程序添加和更新在线数据库。非管理员应该只能在应用程序中查看数据库中的数据。我们如何在应用程序中最好地实现这一点,以及确定用户是否确实是管理员并将其存储以供以后使用的最佳解决方案是什么?最好的选择是处理您的安全性并从服务器授予权限 许多系统可以根据后端使用的技术来实现,基本上您需要用户的凭据(通常使用用户名/密码,但任何保证用户身份的东西都可以使用),服务器将使用这些凭据来授权某些

我们的应用程序需要处理两种类型的用户:管理员和非管理员。管理员应该看到非管理员看不到的接口元素。管理员应该能够通过应用程序添加和更新在线数据库。非管理员应该只能在应用程序中查看数据库中的数据。我们如何在应用程序中最好地实现这一点,以及确定用户是否确实是管理员并将其存储以供以后使用的最佳解决方案是什么?

最好的选择是处理您的安全性并从服务器授予权限

许多系统可以根据后端使用的技术来实现,基本上您需要用户的凭据(通常使用用户名/密码,但任何保证用户身份的东西都可以使用),服务器将使用这些凭据来授权某些操作并拒绝其他操作

例如,您可以使用基于令牌的身份验证,如下所述

然后,服务器可以在执行某些操作之前检查用户是否具有正确的权限


许多系统已经存在,这完全取决于后端使用什么技术。

最好的选择是处理您的安全性并从服务器授予权限

许多系统可以根据后端使用的技术来实现,基本上您需要用户的凭据(通常使用用户名/密码,但任何保证用户身份的东西都可以使用),服务器将使用这些凭据来授权某些操作并拒绝其他操作

例如,您可以使用基于令牌的身份验证,如下所述

然后,服务器可以在执行某些操作之前检查用户是否具有正确的权限


许多系统已经存在,这完全取决于在后端使用什么技术。

IMO对于您的场景,最好的方法如下所示:

1)服务器端:

  • 服务器端
    维护一个具有
    管理员
    访问权限的
    用户
    。这意味着您将创建一个用户,并将凭据提供给授权人员
  • 在登录服务中,检查提供的凭据是否为admin。如果是admin,则返回一个标志,表示
    isAdmin=true
  • 为了以后使用,您只需将此标志保存在
    NSUSerDefaults
    中,作为处理有限的
    数据的最佳解决方案
2)在应用程序端:

  • 如果
    用户
    管理员
    isAdmin=true
    ),则设置适当的
    UI
    元素,并允许访问联机
    数据库
  • 如果
    用户
    是非管理员,则更改
    用户界面
    设置,并加载该
    用户的本地
    数据库

在我看来,适合您的方案的最佳方法如下:

1)服务器端:

  • 服务器端
    维护一个具有
    管理员
    访问权限的
    用户
    。这意味着您将创建一个用户,并将凭据提供给授权人员
  • 在登录服务中,检查提供的凭据是否为admin。如果是admin,则返回一个标志,表示
    isAdmin=true
  • 为了以后使用,您只需将此标志保存在
    NSUSerDefaults
    中,作为处理有限的
    数据的最佳解决方案
2)在应用程序端:

  • 如果
    用户
    管理员
    isAdmin=true
    ),则设置适当的
    UI
    元素,并允许访问联机
    数据库
  • 如果
    用户
    是非管理员,则更改
    用户界面
    设置,并加载该
    用户的本地
    数据库

在提出问题之前,我们考虑过类似的问题,但感谢您的确认和回复。@eirikvaa欢迎兄弟。编码快乐。。!!在提出问题之前,我们有过类似的想法,但感谢您的确认和回复。@eirikvaa欢迎兄弟。编码快乐。。!!