LoginSignup
1
1

More than 5 years have passed since last update.

PleasanterでユーザーがログインIDを変更できないようにする

Last updated at Posted at 2018-08-16

デフォルトの設定状態

Pleasanterの初期設定のままだと、ユーザーが自由にログインIDを変更できてしまいます。

ユーザーIDの入力欄の変更を無効にする

これはシステム管理上好ましくないので、特定のユーザー以外にはログインIDが変更できないようにすることにしました。

拡張スクリプトを使って入力欄の変更を無効化

ということで、Pleasanterの拡張スクリプト用フォルダ({WEBROOT}\pleasanter\App_Data\Parameters\ExtendedScripts)に、以下の拡張スクリプトを配置して、administrator以外のユーザーでログインした時には、ユーザープロファイル画面を開いても、ログインID欄の変更を無効化しました。
無効化しただけでは、グレーアウトされず変更できそうに見えてしまうので、グレイアウトするようにもしています。

disableUserIdChange.js
$(function(){
  var UserId = $("#UserId").val();
  switch (UserId) {
    case "1":
      break;
    default:
      switch (true) {
        case /users\/login/.test(location.href):
          break;
        case /users\/.*/.test(location.href):
          $("#Users_LoginId").prop('disabled', true);
          $("#Users_LoginId").removeClass("control-textbox");
          $("#Users_LoginId").addClass("control-text");
          break;
      }
      break;
  }
  // console.log(location.href);
});

Administratorでログインすると今まで通りに、変更できますが

byAdmin.jpg

一般ユーザーでログインするとグレーアウトされて変更もできなくなります。

byUser1.png

許可するユーザーを増やしたい時は…

   switch (UserId) {
    case "1":
    case "2":
    
      break;

というように、ひたすらユーザーIDを並べていきます。
APIでユーザー情報や所属グループを取得できたりすると良いんですけどね~

うまくいかない時は…

// console.log(location.href);

    ↓↓↓

 console.log(location.href);

ここのコメントを外してIISを再起動、F12キーを押してコンソールログを表示した状態で、トップページを再読込みするとURLが確認できます。

consoleLog.jpg

if文のlocation.hrefでチェックしているURLと違っていないか確認してみてください。

まとめ

初期状態で使いづらいなと感じても、拡張スクリプトや拡張SQL、拡張スタイルシートを使用することで、カスタマイズが可能です。どんどんカスタマイズして便利なツールに育てていけるのも、Pleasanterの魅力のひとつだと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1