【TechTarget中国原创】问:我们是一个金融机构,在全国各地都有分公司。我们有一个基于客户服务器的应用程序,该服务器最初用于安装在分公司。后来随由于业务需要,我们决定建立一个集中式的数据中心,所有分公司都通过.net连接到同一个地址上,并且应用程序和数据库连接到了集中式的数据中心。
为了让所有的分公司都能用到该应用程序,我们在Citrix 服务器上安装了该程序。在这一程序里,我们有特殊的Role文件,这一文件的权限需要授予该应用程序用户。随着授权Role文件,在该程序里自动弹出了一些按钮。当分公司使用该应用程序时,它的权限就变小了——只有一个用户有Role,并且它还不能建立任何安全保证,但是现在不同公司的不同用户连接了同一个应用程序并拥有相同的Role是很危险的,因为这样的话,一个分公司的用户都有权限访问另一个公司的数据。我们有没有办法能限制有同一个Role的用户访问某些对象?
答:最好的方法就是为每个公司创建不同的Role文件,然后合理分配。你还可以通过合并触发器和视图限制用户访问。但是这样做很麻烦。最后,你只需要模拟Role的职责。所以为什么不把这些时间花在重新为他们创建Role文件呢?