2016-04-05 13 views
3

私はユーザ権限でWebappを開発しています。ユーザーの権利はデータベースに保存する必要があります、そして、私は今方法に困惑しています。データベースにユーザ権利が保存されています

「普通の」アプリケーションのようなフラグを使用する可能性について考えました。

0 - NoRights 
1 - User 
2 - Support 
4 - Finance 
8 - Admin 

実際の権利は、1つ以上の追加番号で構成されます。 A ユーザサポートの権利は、ユーザ権利となります。

データベースのモデリングでユーザー権を保存するベストプラクティスは何ですか?

私は、Microsoft SQL Serverの2008R2を使用していますが、私はこの質問を

EDITデータベースにとらわれない答えを持っていると思います。私は私の方法でとの種類の助けを借りてい

ここではいくつかのリソース答え、コメントした人。

Best Practice for Designing User Roles and Permission System?

https://security.stackexchange.com/questions/63518/mac-vs-dac-vs-rbac

+2

これが役立つかどうかを確認してください - http://stackoverflow.com/questions/333620/best-practice-for-designing-user-roles- and-permission-system – MusicLovingIndianGirl

+1

@MusicLovingIndianGirlはい、これはかなりカバーしています。なぜ私はこの質問を発見できなかったのだろうか。/確かに多くの感謝 – Bongo

+0

あなたは大歓迎です。 :) – MusicLovingIndianGirl

答えて

3

これは、多くの関係に多くのです。つまり、1人のユーザーが複数の役割を持つことができ、1つの役割を複数のユーザーに割り当てることができます。

Ie user1はロール1と4を持ち、ロール1はuser1とuser2によって保持できます。これは、通常のブリッジテーブルを使用してモデル化され

、すなわち「

ユーザー(userIdを、名) 役割(roleId、説明)

のUserRole(userIdを、roleId)

https://en.m.wikipedia.org/wiki/Many-to-many_(data_model)

これが役立つことを願っています

+0

私はそれを実現できると思っていたでしょうが、私は100%確実になりたかったです:) – Bongo

+0

心配しないで、私は助けることができました。 –

関連する問題