我们的应用程序需要处理两种类型的用户:admin和非admin。管理员应该看到非管理员没有的界面元素。管理员应该能够通过应用程序添加和更新在线数据库。非管理员应该只能从应用程序中的数据库中查看数据。我们如何在应用程序中最好地实现这一点,以及确定用户实际上是否是管理员并将其存储以供以后使用的最佳解决方案是什么?
答案 0 :(得分:0)
最佳选择是处理您的安全性并从服务器授予权限。
可以实现许多系统,具体取决于后端使用的技术,基本上您需要来自用户的凭据(经常使用用户名/密码,但保证用户身份的任何东西都能正常工作)服务器将用于授权某些行为并拒绝其他行为。
例如,您可以使用基于令牌的身份验证,其解释为here
然后,您的服务器可以在执行某些操作之前检查用户是否具有正确的权限。
许多系统已经存在,这完全取决于后端使用的技术。
答案 1 :(得分:0)
IMO对您的方案的最佳方法如下:
1)服务器端:
server
结束时,保持user
admin
访问权限。这意味着您将创建用户并将凭据提供给授权人员。isAdmin = true
NSUSerDefaults
中,作为处理有限数量的data
的最佳解决方案。2)在App Side:
user
为admin
(isAdmin = true
),请设置相应的UI
元素并授予在线database
访问权限。user
不是管理员,请更改您的UI
设置并为此database
加载您的本地user
。