0

我开发了一个小型 C# 实用程序来执行数据验证、清理和导出。现在我正在为用户编写手册,我想模拟用户可能没有足够权限对特定表执行某些数据库操作(SELECT 或 UPDATE)的情况。

该实用程序非常小,仅通过使用与数据库的受信任连接来依赖当前用户的 Windows 凭据,这意味着它使用从 AD 传播的我的 Windows 帐户的凭据。我在数据库服务器上拥有完全权限,但我无法撤销自己的某些权限或将我的登录名映射到另一个权限较少的数据库用户,因为我的登录名已经映射到 dbo 并且我无法取消映射(错误消息如果我尝试,“dbo 用户不能被删除”)。

那么,如何模拟我的实用程序缺乏必要的权限?

4

1 回答 1

1

您可以在测试中创建并抛出 SqlException 来模拟无权执行特定操作的情况。

您需要使用一些反射(检查帮助程序类)来将正确的错误添加到异常的 Errors 属性中。

于 2012-11-27T18:08:50.327 回答