3

ユーザー権限とロールが必要なms sqlサーバーとC#を使用してアプリケーションを開発しています。現在、このようなテーブルを作成しています。

 'privileges_table

  PrivilegeID | PrivilegeName
       1      |  Create
       2      |  Update
       3      |  Delete
       4      |  View

  Roles_Table

  RolesID     | RolesName  | PrivilegeID  | RolesGroup
     1           Admin          1         |   1
     2           Admin          2         |   1
     3           Admin          3         |   1
     4           Secretary      2         |   4
     5           Remote User    4         |   5

  User_Table

  UserID   |  UserName   | UserPass  | RoleGroup
    1      |  Wale       | m%^#@     |     1
    2      |  Jane       | k*&%$#    |     5

  '

これをより良い方法で管理して冗長性を減らし、c# / VB でコーディングしすぎないようにするにはどうすればよいですか? すべての助けに感謝します。

4

3 に答える 3

1

.Net Frameworkのメンバーシップモジュールを利用する必要があります。これは Web アプリケーションでユーザーとロールを管理する標準的な方法であり、このモジュールを使用してデスクトップ アプリケーションでユーザーを管理するためのブリッジさえあります。

ASP.NET MVC に関しては、 MembershipStarterKit ( Nuget で入手可能)のようなメンバーシップ モジュールの上に標準の画面と機能を実装するプロジェクトを見つけることができます。

回避できる場合は、車輪の再発明をしないでください。

于 2013-04-11T20:13:08.743 に答える
0

独自のカスタム メンバーシップ プロバイダーをコールド ロールします。それはあなたの要件にはやり過ぎかもしれませんが。

これまでのところ問題ないようです。ユーザークラスを作成し、ユーザーが適切な権限でログインしたときにこれを保存してから、ブール値として isAllowedUpdate(roleID) 、ブール値として isAllowedCreate(roleID) などの関数をいくつか作成します。

特権を必要とする単純な Web アプリに対して、これを数回実行しました。私は通常、非常に具体的なロールが作成されたロールとユーザーテーブルを持っています-それは、権限をどの程度細かくしたいかによって異なります。

于 2013-04-11T20:10:01.733 に答える