Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics CRM (Archived)

why user can access only one record in BU two level upper

Posted on by 35

Hi everyone,

User X  cannot access any custom entity record owned by a team in a BUs two levels upper than him, as he has BU level read privilege only . After admin user assign one of the custom entity records to the user's BU, user X can see the custom entity record. Then admin user assigns the same record back to its original BU, user X remains access to it but no access to the rest. How can this happen? It supposes to be inaccessible to user X after changed to another BU. Can anybody give a hint? Thanks.

*This post is locked for comments

  • Charlie Chen179 Profile Picture
    Charlie Chen179 35 on at
    RE: why user can access only one record in BU two level upper

    I think the behavior is the result of below setting. Thanks Guido.

    pastedimage1566484324399v1.png

    Now, I have a question if it works like this, why above query return me nothing. Interesting.

  • Charlie Chen179 Profile Picture
    Charlie Chen179 35 on at
    RE: why user can access only one record in BU two level upper

    Thanks for your reply. I used "RetrieveSharedPrincipalsAndAccessRequest" to check if it's shared with any user and the system return null.

    var req = new XMLHttpRequest();

    req.open("GET", Xrm.Page.context.getClientUrl() + "/api/data/v9.1/RetrieveSharedPrincipalsAndAccess(Target=@Target)?@Target=%7B%22sl_maincategoryid%22%3A%22AAA2A8C3-937D-E911-A986-000D3A3ACD0B%22%2C%22%40odata.type%22%3A%22Microsoft.Dynamics.CRM.custom_entity%22%7D", false);

    req.setRequestHeader("OData-MaxVersion", "4.0");

    req.setRequestHeader("OData-Version", "4.0");

    req.setRequestHeader("Accept", "application/json");

    req.setRequestHeader("Content-Type", "application/json; charset=utf-8");

    req.onreadystatechange = function() {

       if (this.readyState === 4) {

           req.onreadystatechange = null;

           if (this.status === 200) {

               var results = JSON.parse(this.response);

           } else {

               Xrm.Utility.alertDialog(this.statusText);

           }

       }

    };

    req.send();

    {

       "@odata.context": "custominstance.crm.dynamics.com/.../$metadata

       "PrincipalAccesses": []

    }

  • Suggested answer
    Guido Preite Profile Picture
    Guido Preite 54,081 Super User 2024 Season 1 on at
    RE: why user can access only one record in BU two level upper

    probably the record has been shared to that user

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,269 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,198 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans