2

Web アプリケーションでのロール管理について少し混乱しています。
仮定: ユーザーは役割に属し、1 つの役割には 1 つ以上の権限があり、権限は次のようになります: ページ options.html を表示します。

ロールが権限 (このページを表示、そのページを表示など) で構成されている場合、コードでユーザーがどのページを表示できるかを確認するにはどうすればよいでしょうか?

2つのオプションが頭
をよぎりました:a)ロールレベル:ユーザーがそのロールのメンバーである場合、ページを表示します...
b)権限レベル:ユーザーがpermissionToViewThatPageを持っている場合、ページを表示します...

a) が進むべき道なら、なぜアクセス許可が必要なのですか?
管理者ロールにはそのページを表示する権限があり、後で誰かが来て権限を変更します。
このコードでは、ユーザーが管理者ロールのメンバーであるかどうかを尋ねますが、権限は確認しません。

質問:
ソース コード (JSP/JSF、ASP.NET) でユーザーの役割/権限をどのように管理していますか?

4

3 に答える 3

2

役割を使用しない場合、要件が変更されたときに各個人を変更する必要があるため、ユーザーの維持が面倒になります。ページまたは機能レベルのアクセス許可を使用しない場合、要件が変更されたときにコードを変更する必要があるため、コードの保守が面倒になります。

最適なオプションは、必要に応じてページの機能にパーミッションを要求し、ユーザーを 1 つ以上のロールに所属させ、ロールとパーミッションを一致させる方法を用意することです。

于 2011-02-07T16:44:28.100 に答える
1

b)。定義したアクセス許可を使用しない場合は、その必要はありません。ただし、現在の設定を考えると、パーミッションのみが必要です。管理者の問題を処理する最善の方法は、ユーザーに個別の役割チェックを追加するのではなく、管理者役割にすべての権限を付与することです。

于 2011-02-07T16:42:03.727 に答える
0

基本的な違いは、パーミッションが役割に割り当てられ、役割が特定のユーザーに割り当てられることです。この概念の背後にある基本的な考え方は、実際のコードを知らなくてもアクセス管理を可能な限り動的にすることです。

于 2011-02-07T16:41:30.100 に答える