現在、私のWebサイトには4つの権限があります
Edit
Delete
Add
View
誰かが他の誰かにサブスクライブすると、誰もが表示権限を取得します。
現在、私はそれぞれをデータベースの列としてビット値として格納しています。
フラグ付きの列挙型を使用する必要があるかもしれないと思っていますが、いくつか質問があります。
- ユーザーはユーザーの権限を選択できるようになります(eveyoneはビューを取得しますが、それを取り除くことはできません)。今のところ、チェックボックスを使用してブール値をデータベースに保存するので簡単です。
私の質問は、チェックボックスを列挙型に変換するための最良の方法は何ですか?したがって、追加のアクセス許可を選択した場合は、それを適切な列挙型にマップできます。
より良い方法があるかどうか疑問に思う
PermissionTypes t;
if(add == true)
{
t = PermissionTypes.Add
}
if(edit == true)
{
t += PermissionTypes.Edit // not sure if you even can do this.
}
私は列挙型フラグであなたがパイプを使ってこのようなことをすることができることを知っています
PermissionTypes t = PermissionTypes.Add | PermissionTypes.Edit
私の列挙型に別のタイプを含めるのは良い習慣ですか?
AddEdit = Add | Edit
私はそれが多くの組み合わせをもたらす可能性があると考えています(私が10の許可またはそのようなものを持っていたと想像してください)。