プリザンターの隠しパラメータ?
こんにちは。IISの田口です。
提案でプリザンターの画面を見せたときにあるお客さんから「トップ画面の『新規作成』や『管理-グループの管理』って非表示に出来ないの?」と質問がありました。
そこでこの要望に対応するために調査した結果を紹介します。
やりたいこと
- 右上の「管理」-「グループの管理」を非表示にしたい。
- トップ画面で右上の「新規作成」を非表示にしたい。
通常の設定では対応できない
1.ユーザ登録時に「テナント管理者」をチェックOFFで登録すると、「管理」メニューで「組織の管理」「ユーザの管理」が非表示となります。が、「グループの管理」についてはユーザ登録画面では設定が出来ませんでした。
2.「サイトのアクセス制御」で対象ユーザに対して読取専用の設定にするとそのサイト(フォルダ)では新規作成が非表示になりますが、トップ画面では表示したままです。またトップ画面には「サイトのアクセス制御」がありません。
ソースを読んでみる
トップ画面の「新規登録」と「グループの管理」について制御していないかとソースを確認したところ、それっぽいのを見つけました。
/Implem.Pleasanter/Libraries/Settings/UserSettings.cs
です。
UserSettingsクラスにDisableTopSiteCreation、DisableGroupAdminという2つのプロパティがありました。
ん?UserSettingsってどこかで見たような気が・・・・・
思い出しました!Usersテーブルです!
よく見ると{}が登録済みです。
※NULLのユーザはAdministratorとAnonymousユーザです。
出来ました!
中括弧ってことは、JSON形式でいいんじゃね?と思い、以下の内容を登録してみました。
※実際は改行せずに登録しました。
{ "DisableTopSiteCreation": true, "DisableGroupAdmin": true }
ログインした結果、「新規作成」、「管理(グループの管理)」両方とも非表示になり、実現出来ました。
※このユーザはテナント管理者ではなかったため、グループの管理を非表示にすることで「管理」自体が非表示となりました。
最後に
この記事内容はあくまでも個人で調査した結果であり、正式な手順・方法でないことをご了承願います。
タイトルに「隠しパラメータ」と書きましたが、隠しでなく、単に登録方法を見落としているかもしれませんし、公式ヘルプに記載済みの情報かもしれません。
また、本記事公開時には既にバージョンアップして画面から設定可能となっているかもしれません。