0

adssys 以外のユーザーがシステム プロシージャを実行できますか?

使用できる BizTalk WCF Adapter for Advantage を開発しており、メタデータを参照して解決する必要があります。これは、スキーマとバインディング ファイル (wsdl) を生成する、.Net 2.0 以降をサポートする Visual Studio 用のアドインです。また、WCF サービスで使用できるクラスを生成することもできます。

私たちのデータベースには、1000 以上のテーブル、50 のビュー、および 50 のプロシージャがあります。オブジェクトをユーザー ID に割り当て、そのユーザーに属するオブジェクトを返すだけです。

ありがとう、

ハワード

4

2 に答える 2

1

はい。adssys 以外のユーザーは、システム プロシージャを実行し、select を使用してシステム テーブルから情報を取得できます。Advantage は、パーミッションおよびユーザー/ロール ベースのシステムを使用して、データベース内のオブジェクトへのユーザー アクセスを決定します。ユーザーの権限によって、プロシージャを正常に実行できるかどうか、またはシステム テーブルから返される情報の量が決まります。

このリンクは、Advantage データ ディクショナリの許可システムに関する包括的な情報を提供します。

テーブルとビューに関して、テーブルまたはビューの名前を表示するには、ユーザーは少なくともテーブルとビューに対する SELECT 権限を持っている必要があります。テーブルの制約やインデックスなどのテーブル プロパティを変更するには、ユーザーはテーブルに対する ALTER 権限を持っている必要があります。テーブルに対する ALTER 権限を持たないユーザーの場合、これらの制約オブジェクトとインデックス オブジェクトは非表示になります。

ストアド プロシージャの場合、プロシージャの名前を表示するには、ユーザーがプロシージャに対する EXECUTE 権限を持っている必要があります。

アクセス許可を管理するための推奨される方法は、ユーザーをグループ (ロール) に割り当て、グループにアクセス許可を付与することです。グループに所属するユーザーは、グループから権限を継承します。

于 2010-07-15T16:19:24.393 に答える
0

概念的には、記述テーブルからメタデータを保存/取得し、その結果を使用してオブジェクトを返すことを検討することをお勧めします。SQL 句でフィルタリングする機能を使用して、すべてのユーザーに単一のアクセス ポイントを提供します。オブジェクト データを取得したら、個々のユーザーに実際にアクセス権を付与することなく、より高いレベルの権限を持つ "ユーザー" を使用してオブジェクトを返すことができます。ただのアイデア。

于 2010-07-16T13:55:01.687 に答える