ユーザーを一覧表示し、進行状況データベースの関連するテーブルのアクセス許可を取得するための最良の方法は何ですか?
質問する
3965 次
4 に答える
1
4GL エンジンと SQL-92 エンジンのパーミッションは多少異なる方法で処理されます。
4GL の観点から、_User テーブルを見てユーザーを見つけます。すなわち:
for each _user no-lock:
display _user.
end.
テーブルの権限を確認するには、テーブルの CAN-* フィールドを調べます。
for each _file no-lock where _hidden = no:
display
_file-name
_can-read
_can-write
_can-create
_can-delete
.
end.
Tim が指しているドキュメントには、より詳細な情報が記載されています。
于 2012-10-24T16:46:39.723 に答える
1
私は、監査目的で、odbc に対して簡単な SQL クエリを作成することになりました。
SELECT * FROM sysprogress.systabauth ORDER BY grantee, tbl
また、必要なものを取得できるいくつかのストアド プロシージャ (少なくとも私たちの環境では) があるようです。
SQL_TABLE_PRIVILEGES
SQL_TABLE_PRIVILEGES2X
于 2012-10-24T15:29:21.883 に答える
0
ユーザーは _user テーブルに格納されます。Progress がどのようにセキュリティと ID 管理を行っているかについては、こちらの Identity and Security Docs で確認できます: http://communities.progress.com/pcom/docs/DOC-107735
于 2012-10-24T16:00:04.730 に答える
0
これにより、ユーザーのリストと、現在のデータベースの各テーブルに対するユーザーの権限が表示されます。
FOR EACH _user
NO-LOCK:
DISPLAY
_User._Userid
_User._User-name.
FOR EACH _File
WHERE _File._Hidden = FALSE
NO-LOCK:
DISPLAY
_File._file-name FORMAT "x(20)"
CAN-DO(_File._can-read,_User._userid)
FORMAT "Y/N" COLUMN-LABEL "Read"
CAN-DO(_File._can-write,_User._userid)
FORMAT "Y/N" COLUMN-LABEL "Write"
CAN-DO(_File._can-create,_User._userid)
FORMAT "Y/N" COLUMN-LABEL "Create"
CAN-DO(_File._can-delete,_User._userid)
FORMAT "Y/N" COLUMN-LABEL "Delete"
.
END.
END.
このレポートは、データベース内のユーザーとテーブルの数に応じて、すぐに大きくなります。
于 2012-11-01T23:18:26.063 に答える