Subscriber KnowledgeBaseからのTech Tip、プロジェクトベースのアクセスコントロールのデモパッケージです。
このパッケージではOrg Unit とGeneral Item の2つの新しいアイテムタイプを作成します。Org Unit はプロジェクトまたはほかの組織的なアイテムを表します。General Itemは部品、ドキュメントなどを表します。2つのサンプルOrg Unit (Project 1 & Project 2) と 6つのサンプルGeneral Item (Aから F)を含んでいます。
Project 1 はアイテムA、B、CへのアクセスをAdministrators Identity の全てのメンバーに提供します。
Project 2はアイテムDとEへのアクセスをAll Employee Identityの全てのメンバーに提供します。
Admin(AdministratorsとAll Employeesの両方のメンバー)として、General ItemのA、B、C、D、Eへのアクセス権を持ちます。
もし、Rootとしてログインした場合は、検索結果にFも含まれます。アイデンティティやアイテムなどの変更は自由に行えます。コードはそのまま使えます。
このロジックを実装するコードは、General ItemのItemType上、OnBeforeGetメソッドとして取り付けられています。これにより、(所属していない項目を削除するためのクエリの結果のポストプロセッシングではなく)サーバーがそれを処理する前に、入ってきたリクエストを変更していることを意味します。コードは、where句の形で追加のテーブルを追加します。さらに、メンバーアイデンティティの1つを持つOrg Unitに付随するもののみの検索によって返される項目が制限されます。
Arasのサブスクライバ―の方は、サブスクライバ―ポータルの中のAras KnowledgeBase (Aras KB) から、さまざまな情報が得られます。 http://www.aras.com/subscriberportal/tech-tips/