各権限を個々の列または SQL サーバー テーブルに分割する代わりに、Flag
属性をEnum
使用してビット単位の操作で使用することを再考しています。私たちのアプリケーションは、リソース(読み取り、変更、更新)にアクセスするためのエンドポイント(残りのサービスからのものではない)を定義し、各ユーザーはたとえばアクセス許可を持つ資格があるBob has permissions to Read, Modify resource X
ため、ボブが来てこのリソースにアクセスすると、ボブがアクセス許可 x を持っているかどうかを確認します。これをどこに適用するかは明らかです ここに私の疑問があります
ボブがフラグ付きの列挙型を使用してリソースに対する読み取り、書き込み、削除のアクセス許可を持っているとします
Permission.Read | Permission.Write | Permission.Delete
。ビットごとの AND の最終結果は整数または別の Enum ですか?この権限をデータベース テーブルに保存するには、列を
integer
?にする必要があります。質問 1 への回答が「Bit wise と操作の整数値を表す列挙型
Enum
の別のプロパティを定義する必要がありますか?」Permissions
disclaimer:
例で言及されているボブは、サイトのスタック オーバーフロー ネットワーク内のユーザーや個人を表すものではありません。ただの別キャラです