管理 > カスタムのアクセスバリデータ
  
カスタムのアクセスバリデータ
カスタムのアクセスバリデータを使用して、特定のオブジェクトクラスに対するアクセス許可のチェックを追加できます。たとえば、特定のオブジェクトを作成する前に、別のビジネスオブジェクトへのアクセスが必要な場合があります。このようなアクセス制御は、「ポリシー管理」ユーティリティでは簡単に実行できないので、カスタムのバリデータを作成することで、このチェックを実行できるようになっています。
カスタムのバリデータは、既成のバリデータをオーバーライドして作成することも可能です。この場合、その他の既成のアクセスチェックを除去できます。たとえば、ベンダーポータルの機能に対し、既成ではすべてのベンダーのアクセスが制限されている場合に、これを特定のベンダーのみの制限に緩和する際に便利です。
カスタムのアクセスバリデータが、「ポリシー管理」ユーティリティに設定されている規則を除去したり、省略したりすることはありません。これらのバリデータは、ビジネス規則に基づいてアクセス制御を追加または除去する場合にのみ使用されます。
PTC FlexPLM オブジェクトに対してカスタムのアクセス制御バリデータを提供するには、次の作業を行う必要があります。
1. Java クラスのバリデータを作成する。
2. そのバリデータを登録する。
バリデータの作成
DefaultACLValidator Flex クラスを拡張する Java クラスを作成します。独自のアクセスバリデータを提供することにより、任意の既成のバリデータを置き換えます。たとえば、既存の LCSMeasurementsACLValidator Flex クラスには、LCSPointsOfMeasure オブジェクトのタイプが "LIBRARY" であり、ユーザーが寸法管理グループに含まれていない場合には削除が回避されるロジックが存在します。
既存の Flex 検証を含める場合は、DefaultACLValidator の代わりに既存のバリデータを拡張し、必要に応じて super 呼び出しを使用します。
独自のロジックを提供するためにオーバーライド可能なメソッドは 7 つあります。
アクセスタイプに対応する 4 つのメソッドは、次のとおりです。
hasViewAccess(WTObject)
hasCreateAccess(WTObject)
hasModifyAccess(WTObject)
hasDeleteAccess(WTObject)
これらのメソッドが呼び出される前に、ユーザーが「ポリシー管理」ユーティリティで定義されているアクセス許可を持っているかどうかが確認されます。ユーザーは、チェック対象オブジェクトのタイプに対するアクセス権限を持っている必要があります。作成、修正、および削除のアクセス権限を得るには、表示アクセス権限が必要です。これらのチェックは既成のアクセスバリデータの一部ではありません。また、オーバーライドはできません。
渡されたアクセスタイプに対するアクセス権限を確認するメソッドは、次のとおりです。hasAccess(WTObject, AccessPermission)
ユーザーに管理アクセス権があるかどうかを確認するために ClientModels によって使用される 2 つのメソッドは、次のとおりです。
hasAdminAccess()
hasAdminAccess(String adminGroupName)
バリデータの登録
バリデータを登録するには、次の形式を使用して custom.lcs.properties にプロパティを追加します。
ACLValidatorFactory.validatorOveride.<Flex クラス名>=<バリデータクラス名>
LCSColor プロパティの例は次のとおりです。
ACLValidatorFactory.validatorOveride.com.lcs.wc.color.LCSColor=com.myco.LCSColorValidator