intra-mart Accel Kaiden! プログラミングガイド 第21版 2024-04-01

4.2.2.7.1. アクセス権フィルタ

intra-mart Accel Kaiden! 勤務管理モジュール では、アクセスできる相手を制御するためのフィルタークラスを提供しています。

4.2.2.7.1.1. アクセス可能なユーザを判定し、ユーザリストを生成するフィルタ

  • 管理者向けアクセス可能ユーザフィルタ
jp.co.slcs.kaiden.v2.product_labormgr.foundation.manager.access_data_filter.LaborSupAuthorizedAccessUserFilter

管理組織に設定されていて且つ管理組織が属する会社に認可(参照権 or 編集権、パラメータで指定)があるかを判定し、その組織に所属するユーザのリストを生成します。

フィルタを生成するサンプルコードを以下に記載します。
// 認可条件
AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();
authCriteria.action = CompanyAuthzActionType.READER;
authCriteria.locale = contextHelper.getLoginUserLocale();
authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();
authCriteria.userCd = contextHelper.getLoginUserCd();

// 会社コード(省略可)
String companyCd = "xxx";

// 管理組織に所属するユーザを検索する基準日
Timestamp a2CriteriaDate = dateHelper.getNowTimestamp();

// 権限コード
String authorityCd = "xxx";

// ログインユーザ除外フラグ(true:除外する)
boolean isExcludePerson = false;

// フィルタ生成
LaborSupAuthorizedAccessUserFilter filter = new LaborSupAuthorizedAccessUserFilter(authCriteria,
        companyCd, a2CriteriaDate, authorityCd, isExcludePerson);
  • 本人向けアクセス可能ユーザフィルタ
jp.co.slcs.kaiden.v2.product_labormgr.foundation.manager.access_data_filter.LaborEmpAuthorizedAccessUserFilter

本人が所属する会社に認可(参照権 or 編集権、パラメータで指定)があるかを判定し、認可ありの場合は本人のユーザコードをリストにセットします。

フィルタを生成するサンプルコードを以下に記載します。
// 認可条件
AuthorityCriteriaDto authCriteria = new AuthorityCriteriaDto();
authCriteria.action = CompanyAuthzActionType.READER;
authCriteria.locale = contextHelper.getLoginUserLocale();
authCriteria.searchCriteriaDate = dateHelper.getNowTimestamp();
authCriteria.userCd = contextHelper.getLoginUserCd();

// フィルタ生成
LaborEmpAuthorizedAccessUserFilter filter = new LaborEmpAuthorizedAccessUserFilter(authCriteria);

コラム

上記は intra-mart Accel Kaiden! 勤務管理モジュール で提供しているフィルタクラスですが、
intra-mart Accel Kaiden! 基盤モジュール でもアクセス権フィルタクラスを提供しています。
  • ユーザフィルタ
jp.co.slcs.kaiden.v2.base.foundation.manager.access_data_filter.StandardAuthorizedAccessUserFilter
認可がある会社に所属しているユーザを取得し、ユーザコードリストを生成します。