1

ユーザーが画像や動画をアップロードできる非常にシンプルなプロフィール ページがあります。私は独自の役割システムを実装しましたが、.NET は使用していません (自分で学び、構築したかったのです)。最大で 10'000 人のユーザーと、約 50 ~ 100 人のユーザーが同時に使用します。

RBAC を処理する DB に 3 つのテーブルがあります。

役割:管理者、ユーザー、マネージャー、ゲスト
権限: SendEmail、AdvancedSearch、RemoveUser ... など。

Authorized : この表では、役割を許可にマップします。アクションに許可が必要になるたびにチェックを実行します。パーミッション<->ロールがテーブルにある場合、true を返し、アクションは承認されます。

そこで、このシナリオに関するいくつかの質問があります。

  • これは承認を確認するための軽量な方法ですか? ページの読み込みとユーザーのアクションごとに DB にクエリを実行します。
  • より高速な結果を得るために、これを XML ファイルに保存する必要がありますか?
  • この種の RBAC に適した構造はありますか?

前もって感謝します!

4

2 に答える 2

1

50 ~ 100 人のユーザーの場合、アクティブ ユーザーごとに何かをアプリにキャッシュするだけです。これにより、有効期限が切れる場合を除いて、db fetch による小さなオーバーヘッドが回避されます。そのため、安価にキャッシュできる小さなオブジェクトを用意するだけで済みますが、アプリのコア機能を実行するために必要なすべてのユーザー情報が含まれています。

IPrincipal組み込みのものを使用するためにこれを使用して実装することを止めるものは何もありません[PrincipalPermission(...)]が、自分でそれを行うこともできます。

于 2011-02-25T09:36:03.300 に答える
0

以下は、ご質問に対する回答です。

• これは承認を確認する軽量な方法ですか。ページの読み込みとユーザーのアクションごとに DB にクエリを実行します。

答え。データベースに構成可能なキャッシング システム レイヤーを適用し、このキャッシュ システムを使用して、カスタマイズ可能な有効期限の承認を行います。

• より迅速に結果を得るために、これを XML ファイルに保持する必要がありますか?

答え。私はxmlファイルを好まず、代わりにシリアライゼーションを使用します。

• この種の RBAC に適した構造はありますか?

答え。DB と RBAC の構造に関する限り、アプリケーションのアクセス制御や権限を DB から直接調整できないほど十分に安全でなければなりません。

于 2015-07-30T10:09:48.677 に答える