每种独特的角色组合都创建了一个用户(该用户无法登录,因此您无法以该用户身份连接并获得访问权限)。该用户具有应用行级安全性的架构,因此根据用户的角色,他们只能查看允许他们查看的数据。使用"execute as user = auto generated user“,它们用唯一的权限模式模拟适当的用户,从而只得到他们被允许查看的数据。
当我从Internet测试它时,它运行正常,但我不能使用Silverlight业务应用程序模板附带的预构建的登录界面登录。我在项目中包括了ASPNETDB.mdf,因为发布时它不是在iis中生成的(我是从那里得到这个想法的)使用默认“MembershipProvider由于模拟客户端失败,无法生成Server的用户实例。连接将被关闭。Mensaje de InnerException:由于模拟客户端失败,无法生成Server的用户<
我知道我需要源数据库上的TRUSTWORTHY=ON (运行存储过程的数据库),以便在服务器上的其他数据库上模拟sysadmin。然而,即使使用模拟授权和TRUSTWORTHY=ON,当试图以模拟用户的身份触摸其他数据库时,仍然会出现以下错误:
The server principal [least_privileged user