1

企業向けの実際のエンタープライズ Web アプリケーションでは、ユーザーの単位と役割によってデータへのアクセスを常に制限する必要があります。

ある国に多くのショッピング ストアを持つ企業があるとします。
そのため、会社には本社があり、すべての支店のすべての請求書と統計にアクセスできます。国内の各地域は、それぞれの支店の地域販売戦略を管理および計画しています。その後、地域のユーザーは、その支店によって作成されたすべての請求書も見ることができます。各支店は、請求書、顧客を作成し、そのデータのみを表示できます。

2 つの主なアクセス制御定義があることがわかります。

1- 役割 (これは何年も前に考えられ、実装されていました!): RoleProvider を使用して簡単に実装し、UI レベル (web.config および sitemap.config) でアクセス制御を制御できます。

2- データを更新/表示するためのユーザー アクセスを拒否/許可するためのユニットとそのロールとの関係。

ユーザーのユニットとロールを取得するために ASP.NET にカスタム プリンシパルを実装しましたが、従来のソリューションが必要だと思います...

4

1 に答える 1

0

これらをチェックしてください:

http://netsqlazman.codeplex.com/discussions/352107

http://lostechies.com/derickbailey/2011/05/24/dont-do-role-based-authorization-checks-do-activity-based-checks/

これが私の説明です。

http://granadacoder.wordpress.com/2010/12/01/rant-hard-coded-security-roles/

...........。

MembershipProviderはROLESに基づいています....そしてそれはあなたの子供のサッカークラブのためのものです...プロのDotNetアプリケーションではありません。

「中間」の回避策があります。

http://www.lhotka.net/weblog/CommentView,guid,9efcafc7-68a2-4f8f-bc64-66174453adfd.aspx

基本的に。MembershipProviderを使用します......ただし、単語/フレーズ「Role」は「Right」として扱います。(もちろん、MSコード内のオブジェクトの名前を変更することはできません)

Rocky's NUTSHELL(上記のURLから)

bool result = currentPrincipal.IsInRole(requiredPermission);

于 2012-04-20T13:26:06.133 に答える