{"id":3325,"date":"2018-09-18T10:23:53","date_gmt":"2018-09-18T10:23:53","guid":{"rendered":"http:\/\/himbap.com\/blog\/?p=3325"},"modified":"2018-09-18T10:23:53","modified_gmt":"2018-09-18T10:23:53","slug":"access-entity-based-on-nn-relationship-for-dynamics-365-portal","status":"publish","type":"post","link":"https:\/\/himbap.com\/blog\/?p=3325","title":{"rendered":"Access Entity based on N:N relationship for Dynamics 365 Portal"},"content":{"rendered":"<p><strong>Introduction<\/strong><br \/>\nIn this article we are going to discuss how we can configure Dynamics 365 portal Web Roles and entity permission to access entity data based on the system N:N relationship. We are using Dynamics 365 trial and provisioned portal trial. <a href=\"https:\/\/himbap.com\/blog\/?p=2503\">Please refer our earlier article for setting up Dynamics 365 trial <\/a> if you want to setup a Dynamics 365 trial and you can refer <a href=\"https:\/\/docs.microsoft.com\/en-us\/dynamics365\/customer-engagement\/portals\/provision-portal\">this <\/a>KB to provision portal in your trial.<\/p>\n<p><strong>Requirement<\/strong><br \/>\nLet\u2019s say we have setup following custom N:N relationship between Account and Contact, so that multiple partner contacts can be associated to partner account and similarly partner account can be connected to multiple partner contacts.<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner1.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3326 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner1-300x155.png\" alt=\"partner1\" width=\"300\" height=\"155\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner1-300x155.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner1-624x323.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner1.png 787w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nNow we need to configure entity permission so that current portal user (partner contact) can access all the associated partner accounts where he is either primary contact or a partner contact.<\/p>\n<p><strong>Solution<\/strong><br \/>\nWe can create a new web role or can use existing web role to set entity permissions. Let\u2019s create a new web role, navigate to Portal-&gt;Web Roles and Click on New.<br \/>\nLet\u2019s use \u201cPartner Portal User\u201d under name field and select your portal website, keep other field as default and hit Save.<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner2.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3327 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner2-300x142.png\" alt=\"partner2\" width=\"300\" height=\"142\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner2-300x142.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner2-624x295.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner2.png 787w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nOnce it is saved click on V sign next to Partner Portal User web role and select entity permissions<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner3.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3328 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner3-300x140.png\" alt=\"partner3\" width=\"300\" height=\"140\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner3-300x140.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner3-624x291.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner3.png 714w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nClick on New button to add entity permissions<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner4.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3329 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner4-300x125.png\" alt=\"partner4\" width=\"300\" height=\"125\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner4-300x125.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner4-624x259.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner4.png 967w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nFill entity permission form like following and click on Save and Close, here we are using Contact scope and selecting our N:N relationship under Contact relationship.<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner5.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3330 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner5-300x224.png\" alt=\"partner5\" width=\"300\" height=\"224\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner5-300x224.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner5-624x467.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner5.png 678w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nSimilarly we can setup another entity permission to allow access partner account based on the primary contact relationship like following<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner6.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3331 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner6-300x239.png\" alt=\"partner6\" width=\"300\" height=\"239\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner6-300x239.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner6.png 619w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nNow let&#8217;s say we have added a portal user, <a href=\"https:\/\/himbap.com\/blog\/?p=2961\">Please refer our earlier article to add quick portal user<\/a>. Once contact is added we need to assign our web role to this portal user. Open contact and click on V sign and select Web Roles. Add our portal user web role by clicking on <strong>Add Existing Web Role<\/strong>.<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner11.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3339 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner11-300x106.png\" alt=\"partner11\" width=\"300\" height=\"106\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner11-300x106.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner11-624x220.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner11.png 703w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nAdd this contact to any existing account as primary contact or create new account and set this contact as primary contact. Now when we navigate to portal with this new contact, we will be able to see one Account based on the primary contact relationship like following.<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner7.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3332 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner7-300x123.png\" alt=\"partner7\" width=\"300\" height=\"123\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner7-300x123.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner7-624x257.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner7.png 763w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\nLet&#8217;s go back to Dynamics 365 CE and open any Existing Account, let say Adventure Works associate current portal user to this account using N:N relationship. Now when we will go back to portal, we should be able to see two Customers like following.<br \/>\n<a href=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner9.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-medium wp-image-3334 aligncenter\" src=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner9-300x132.png\" alt=\"partner9\" width=\"300\" height=\"132\" srcset=\"https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner9-300x132.png 300w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner9-624x276.png 624w, https:\/\/himbap.com\/blog\/wp-content\/uploads\/2018\/09\/partner9.png 711w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>So this way we can configure entity permissions for 1:N and N:N relationship for Portal. Stay tuned for more Dynamics 365 Contents !!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction In this article we are going to discuss how we can configure Dynamics 365 portal Web Roles and entity permission to access entity data based on the system N:N relationship. We are using Dynamics 365 trial and provisioned portal trial. Please refer our earlier article for setting up Dynamics 365 trial if you want to setup a Dynamics 365&#8230; <a href=\"https:\/\/himbap.com\/blog\/?p=3325\">Read more &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":3206,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[402,522,508],"tags":[632,631,634,503,633],"_links":{"self":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3325"}],"collection":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3325"}],"version-history":[{"count":7,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3325\/revisions"}],"predecessor-version":[{"id":3343,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/3325\/revisions\/3343"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=\/wp\/v2\/media\/3206"}],"wp:attachment":[{"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3325"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3325"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/himbap.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3325"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}