我正在开发一个应用程序,它需要具有不同角色的用户管理才能获得存储在MS SQL Server数据库中的数据的不同视图。我使用dreamfactory为数据提供REST API。我想将用户数据存储在与其他数据相同的数据库中。
dreamfactory提供用户管理,我很乐意使用它,因为构建我自己似乎是一项艰巨的任务,但我似乎无法完全理解这是如何工作的......
*如何使用dreamfactory用户管理将用户数据存储在我自己的数据库中(而不是内置于DSP的数据库)?
*如何限制对MS SQL Server数据库API中可访问的部分数据的访问(因为某些用户只能查看该数据库的某些部分)?
*我知道我可以为特定应用程序设置用户角色,但是梦想是否真的适合管理(可能有数百个)多个应用程序的用户(每个用户可能有多个用户角色)?你有经验吗?
阅读doc并没有帮助我 并且没有使用dreamfactory进行用户管理的本教程 Tutorial 1
非常感谢关于这个主题的任何知识分子。
答案 0 :(得分:1)
DreamFactory用户系统有user REST API,因此您可以根据需要将用户存储在自己的数据库中。但是,如果您正在使用它来控制安全性,您还需要将用户存储在DreamFactory中(DreamFactory中的角色系统控制后端安全性,因此用户需要与DreamFactory中的角色相关联才能使所有安全机制生效)。
您可以使用角色系统限制对部分数据的访问(即表级和记录级安全性)。您可以通过为给定角色的给定表指定允许的http谓词来控制表级访问。您还可以使用查找键继承您在外部SQL数据库中设置的任何现有角色权限(有关详细信息,请转至here)。您可以使用查找键或服务器端筛选器控制记录级访问。一个常见的用例是只允许记录的创建者更新或删除该记录。有关这方面的更多信息,请here。
角色只管理哪些用户可以访问哪些REST服务,哪些数据以及哪些应用程序。用户系统旨在扩展到大量用户,角色和应用程序。大型企业为此目的使用DreamFactory。
此外,DreamFactory是一个开源软件安装。用户和角色系统存储在作为安装一部分的MySQL数据库中。您可以根据需要轻松扩展用户和角色架构。用户的限制仅受数据库大小的限制。如有必要,您可以存储数百万用户和数千个角色和应用程序(财富500强公司通常拥有数千个内部移动应用程序)。