2
1
0

ユーザによってはプロファイルの編集をさせたくないので
特定のユーザだけユーザメニューを非表示にしたいです。

なにか方法はありますか?

    Commentコメントを追加...

    1 回答

    1.  
      2
      1
      0

      Confluence のカスタム HTML に javascript を挿入して
      ユーザ情報をもとに非表示にする方法があるでしょうか。

      Conflence 管理画面 > カスタム HTML > BODY の最後に以下スクリプトを挿入してみました。

      <script>
      (function(){
          var user = AJS.Meta.get('remote-user');
          var baseUrl = AJS.Meta.get('base-url');
          var hideText = document.createElement('style');
          hideText.textContent = '#user-menu-link-content{ display: none; }';
      
          var xhr = new XMLHttpRequest();
      
          xhr.onreadystatechange = function(){
              if(xhr.readyState === 4){
                  if(xhr.status === 200){
                      var data = JSON.parse(xhr.responseText);
                      var groups = data.results;
                      var result = false;
                      for(var i = 0, len = groups.length; i < len; i++){
                          if(groups[i].name === 'その他のユーザー'){
                              result = true;
                              break;
                          }
                      }
                      if(result){
                          document.querySelector('head').appendChild(hideText);
                      }
                  }
              }
          }
      
          xhr.open('GET', baseUrl + '/rest/api/user/memberof?username=' + user);
          xhr.send();
      })();
      </script>


      あとはサイトレイアウトにベロシティを記述して
      非表示にもできそうでした。

      Confluence 管理画面 > レイアウト > メインレイアウト
      をカスタムして

      <head> タグの最後に以下を挿入してみました。

      #set($currentUser = $action.authenticatedUser)
      #set($groups = $userAccessor.getGroupNamesForUserName($currentUser.getName()))
      #foreach($group in $groups)
          #if($group.equals("その他のユーザー"))
              <style>
                  #user-menu-link-content{
                      display: none;
                  }
              </style>
          #end
      #end


      どちらもユーザーが所属しているグループで判定しています。

        Commentコメントを追加...