How to disable profile editing by users

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。

このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。

*Fisheye および Crucible は除く

目的

To prevent users from editing their profile.

Customisations are not supported

Note that Atlassian support does not cover customisations to Velocity files, such as those described on this page.

tip/resting Created with Sketch.

All files should be located under <confluence-install>\confluence\users.

ソリューション

Removing the Save Profile Option.

To remove the option that allows people to select save changes to their profile, you will need to edit the Velocity template (.vm file) as described below.

  1. Locate your editmyprofile.vm file under

    <confluence-install>\confluence\users\editmyprofile.vm
  2. Edit this file with your favorite editor, such as Wordpad, Notepad or Notepad++ (recommended). The file looks something like this:

    ここをクリックして展開...
    #macro (renderIfEdit $markup)
    #trim()
    #if ($editMode == true)
    $!generalUtil.htmlEncode($markup)
    #else
    $!statusTextRenderer.render($markup)
    #end
    #end
    #end
    
    #set($viewingMyProfile = $personalInformationEntity.belongsTo($remoteUser))
    <html>
    <head>
    <title>$generalUtil.htmlEncode($pageTitle)</title>
    #requireResource("confluence.web.resources:aui-forms")
    #requireResource("confluence.userstatus:userstatus-resources")
    </head>
    
    #if ($editMode)
    #set($mode = "edit-profile-single")
    #else
    #set($mode = "edit-profile-three")
    #end
    
    #applyDecorator("root")
    #decoratorParam("context" "profile")
    #decoratorParam("mode" $mode)
    #decoratorParam("helper" $action.helper)
    #decoratorParam("infopanel-width" "200px")
    
    <body>
    #if($confirmPassOnEmailChange)
    #requireResource("confluence.web.resources:edit-user-profile")
    #parse("/users/password-dialog-templates.vm")
    #end
    <div class="profile-info #if(!$editMode)section-3#end">
    #applyDecorator("form-aui")
    #decoratorParam("formName" "editmyprofileform")
    #decoratorParam("formId" "editmyprofileform")
    #decoratorParam("submitAction" "$req.contextPath/users/doeditmyprofile.action")
    #decoratorParam("editAction" "$req.contextPath/users/editmyprofile.action")
    #decoratorParam("editMode" "$editMode")
    #if(!$editMode && $viewingMyProfile)<a href="$req.contextPath/users/editmyprofile.action" class="edit-link">$action.getText("edit.name")</a>#end
    <h2 class="first">$action.getText("profile.group.personal")</h2>
    #form_xsrfToken()
    <fieldset>
    <input type="hidden" id="originalemail" value="$storedEmail"/>
    <input type="hidden" id="passwordconfirmation" value="" name="passwordconfirmation"/>
    #bodytag ("Component" "label='accessibility.profile.edit.personal'" "template='assistive.vm'" "theme='aui'")
    #param ("type" "legend")
    #end
    #if (!$settingsManager.getGlobalSettings().isExternalUserManagement() && !$userAccessor.isReadOnly($user))
    #bodytag( "TextField" "label='fullname.name'" "name='fullName'" "size='50'" "theme='aui'" )
    #if($editMode) #param("required" "$action.getText('required.field')") #end
    #end
    #tag( "TextField" "label='email.name'" "name='email'" "size='50'" "theme='aui'" )
    #else
    #if($editMode)
    <strong class="extra-info">$action.getText('user.fields.readonly')</strong>
    #end
    #tag( "TextField" "label='fullname.name'" "name='fullName'" "size='50'" "theme='aui'" "readonly=true" )
    #tag( "TextField" "label='email.name'" "name='email'" "size='50'" "theme='aui'" "readonly=true" )
    #end
    #foreach ($key in $action.getUserDetailsKeys("personal"))
    #bodytag( "TextField" "label='confluence.user.profile.$key'" "name='userparam-$key'" "value=getUserProperty('$key')" "size='50'" "theme='aui'" )
    #param ("renderWiki" $statusTextRenderer)
    #end
    #end
    #if($editMode)
    #bodytag ("Component" "name='personalInformation'" "template='textarea.vm'" "theme='aui'")
    #param ("label" "$action.getText('personal.info')")
    #param ("rows" 8)
    #param ("cols" 70)
    #param ("renderWiki" $blockWikiStyleRenderer)
    #end
    #end
    </fieldset>
    
    <h2>$action.getText("profile.group.business")</h2>
    <fieldset>
    #bodytag ("Component" "label='accessibility.profile.edit.company'" "template='assistive.vm'" "theme='aui'")
    #param ("type" "legend")
    #end
    #foreach ($key in $action.getUserDetailsKeys("business"))
    #bodytag( "TextField" "label='confluence.user.profile.$key'" "name='userparam-$key'" "value=getUserProperty('$key')" "size='50'" "theme='aui'" )
    #param ("renderWiki" $statusTextRenderer)
    #end
    #end
    
    #if($editMode == true)
    #parse ("/pages/includes/captcha-form-elements.vm")
    #end
    
    <!--
    #if($viewingMyProfile == true && $editMode==true)
    <br/>
    #bodytag( "Submit" "theme='aui'" )
    #param ("submitValue" "$action.getText('save.name')")
    #end
    #end
    -->
    <p><font size="3" color="red">You cannot change your Profile, this is disabled.<br>
    If you need to change anything contact the Admin.<br></font></p>
    </fieldset>
    #end
    </div>
    
    #if(!$editMode)
    <div class="profile-main section-2">
    #if($action.userStatusPluginEnabled && $action.currentStatus && !$editMode)
    <div>
    <div class="status-block #if($viewingMyProfile) current-user-latest-status#end">
    <span class="status-text">$statusTextRenderer.render($action.currentStatus.status)</span>
    <div class="status-actions">
    <ul>
    <li><a id="view-$action.currentStatus.id" href="$req.contextPath$action.currentStatus.urlPath" title="$action.dateFormatter.formatDateTime($action.currentStatus.lastModificationDate)">$action.formatFriendlyDate($action.currentStatus.lastModificationDate)</a></li>
    #if ($viewingMyProfile == true)<li><a id="clear-$action.currentStatus.id" href="$req.contextPath$action.currentStatus.clearPath_xsrfToken()">$action.getText("clear.name")</a></li>#end
    </ul>
    </div>
    </div>
    </div>
    #end
    
    #applyDecorator("form-aui")
    #decoratorParam("formName" "editmyprofileform")
    #decoratorParam("submitAction" "$req.contextPath/users/doeditmyprofile.action")
    #decoratorParam("editAction" "$req.contextPath/users/editmyprofile.action")
    #decoratorParam("editMode" "$editMode")
    
    
    #if($hasAboutMe)
    <div class="profile-section" id="profile-about-me">
    #if(!$editMode && $viewingMyProfile)<a href="$req.contextPath/users/editmyprofile.action" class="edit-link">$action.getText("edit.name")</a>#end
    <h2>$action.getText("personal.info")</h2>
    <div id="profile-about-me-content">$renderedAboutMe</div>
    </div>
    #end
    <h2>$action.getText("activity.name")</h2>
    #end
    <div class="profile-section" id="profile-status-list">
    $helper.renderConfluenceMacro("{recently-updated:author=$action.user.name|max=10|theme=sidebar|spaces=*}")
    </div>
    #webPanelForLocation("atl.confluence.userprofile" $action.context)
    </div>
    #end
    
    </body>
    #end
    </html>
  3. Save the file. You can reload your page and see the changes. There is no need to restart Confluence.

After following the above steps, you will have something like this:


And Something like this too:

最終更新日: 2024 年 12 月 19 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.