0

データの検証、クリーンアップ、エクスポートを実行する小さなC#ユーティリティを開発しました。今、私はユーザー向けのマニュアルを書いています。ユーザーが特定のテーブルで特定のデータベース操作(SELECTまたはUPDATE)を実行するのに十分な権限を持っていない可能性がある状況をシミュレートしたいと思います。

ユーティリティは非常に小さく、データベースへの信頼できる接続を使用して現在のユーザーのWindowsクレデンシャルに依存します。これは、ADから伝達されたWindowsアカウントのクレデンシャルを使用することを意味します。私はデータベースサーバーに対する完全な権限を持っていますが、ログインがすでにdboにマップされており、マップを解除できないため、自分自身から一部の権限を取り消したり、権限の少ない別のデータベースユーザーにログインをマッピングしたりすることはできません(エラーメッセージ試してみると「dboユーザーを落とせない」というメッセージが表示されます)。

では、ユーティリティに必要な権利の欠如をどのようにシミュレートできますか?

4

1 に答える 1

1

テスト内でSqlExceptionを作成してスローし、特定のアクションを実行する権限がない状態をシミュレートできます。

例外のErrorsプロパティに適切なエラーを追加するには、リフレクションを使用する必要があります(ヘルパークラスについてはこれを確認してください)。

于 2012-11-27T18:08:50.327 に答える