Multilingual in Sitecore (Part 2): How to Restrict Access by Language





In this part of the series, we’ll look at how to restrict access to content authors by language. 

  • By default, content authors have the ability to author and publish content for all languages installed in Sitecore. Any time a new language is added, it appears in the language dropdown and the publish dialogs automatically.





 

  • It may be desirable to restrict access to authoring and publishing for installed languages. 
  • These restrictions can be set using the role manager, user manager, and security editor tools in Sitecore.



  • First, we want to create a new role that will allow editing in each of the installed languages. Open the role manager and click new. Enter the name for the new role and click OK.



  • Next, we will use the security editor to set the language permissions. Click the columns button and check the box next to “language read” and “language write” then click OK.  
  • This will show the relevant columns and allow us to make our changes.



  • Click the account button (person icon) in the upper left corner of the security editor window. Search for Everyone. Select the role Sitecore/Everyone and click OK.



  • Expand System -> Languages and notice the Sitecore/Everyone role has access to edit all languages by default.  The languages folder is set to allow language read and language write.  
  • The children are set to inherit permissions.



  • We want to give the Sitecore/Everyone language read and language write access to the English language only and deny language read and language write to the languages folder.  
  • Any other installed languages will inherit the permission from the folder if not explicitly set.



  • Open the account dialog again and search for our newly created role for our installed language.



  • Give this role language read and language write permissions for the installed language.



  • Notice the UI is updated to remove references to the installed languages including the version dropdown and the publish dialog.





  • You can allow editing and publishing in the installed languages by assigning the newly created role to specific users as necessary from the user manager. Find the user you want to edit and double click. 
  • In the edit user dialog, select the member of tab and click the edit button. Search for our newly created role. Select it from the list on the left and click the add button. 
  • Click OK to close the dialogs and update our user information.



  • Security settings (roles and permissions) are applied automatically, even to logged-in users.  Users do not have to log out before updated permissions take effect.





 

  • Note that any content a user can manage based on other assigned roles, they will be able to manage in the installed language. 
  • If you need to restrict language access to specific areas of site or pages, you can create other more restrictive roles or update a user's permissions directly.

    Thanks :)            

Comments