はじめに
CSMでポータルを作成していたところ、一部のページ・ウィジェットを外部ユーザが閲覧できないという問題が起きました。
本記事ではこの問題の解決方法について共有していきたいと思います。
本記事ではユーザを以下のように呼びます。
外部ユーザ:snc_externalロールを持つユーザ
内部ユーザ:snc_internalロールを持つユーザ
原因
ユーザクライテリアを設定できるようになる Service Portalユーザー基準サポートプラグイン (com.glide.service-portal.user-criteria) と システムプロパティ(Service Portal User Criteria Support)が有効化されている場合、ユーザクライテリアを設定しないと内部ユーザしか見られないページ・ウィジェットが存在するようです。
<プラグインについて>
<システムプロパティについて>
また、CSM関連のテーブルへのアクセス権限も外部ユーザには付与されていないため、
テーブルを指定してレコードを表示するようなウィジェットも閲覧することができません。
ウィジェット例:簡易リスト、URL定義からのデータテーブル、等。
解決策
ページ・ウィジェットの閲覧権限については、外部ユーザが閲覧できるように、問題が発生したページ・ウィジェットにユーザクライテリアを設定しました。
ユーザクライテリアは、OOTBで外部ユーザ用と内部ユーザ用として使えるものがありました。
■外部ユーザ用
名前:Users with 'sn_customerservice.customer' role
ロール:sn_customerservice.customer
※sn_customerservice.customerロールに、snc_externalロールが含まれています。
■内部ユーザ用
名前:Users with 'snc_internal' role
ロール:snc_internal
テーブルへのアクセス権限については、外部ユーザがCSM関連のテーブルへアクセスできるように、プロパティ「sn_cs_queryrules.use_query_rules」を有効化しました。
注意事項
他のポータルのページでも使用しているウィジェットの場合は、外部ユーザ用のユーザクライテリアのみを付けてしまうと内部ユーザが閲覧できなくなってしまうため、他に付けるべきユーザクライテリアがないか横並び確認をするようにしてください。
おわりに
はじめに書いた通り、すべてのページ・ウィジェットに対して外部ユーザに閲覧権限がない訳ではなく、一部のページ・ウィジェットに対してこの問題が発生しました。
そのため、作成したページやページに配置したウィジェットが外部ユーザからすべて閲覧できているのか、注意深くテストする必要がありそうです。