<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
<channel>
<title><![CDATA[Novalys]]></title>
<link><![CDATA[https://www.novalys.net/support/]]></link>
<description />
<generator><![CDATA[Kayako fusion v4.66.2]]></generator>
<item>
<title><![CDATA[how to manage contextual roles]]></title>
<link><![CDATA[https://www.novalys.net/support/index.php?/Knowledgebase/Article/View/467]]></link>
<guid isPermaLink="false"><![CDATA[ab817c9349cf9c4f6877e1894a1faa00]]></guid>
<pubDate><![CDATA[Mon, 19 Nov 2012 16:24:12 +0100]]></pubDate>
<dc:creator />
<description><![CDATA[Question :
I am working on an application now that has a fixed set of permissions. Items like &ldquo;Add Property&rdquo;, &ldquo;Edit Property&rdquo;, &ldquo;Add Contact&rdquo;, etcThe application itself is partitioned by divisions within our company: &l...]]></description>
<content:encoded><![CDATA[<p><strong>Question :</strong></p>
<div class="im">I am working on an application now that has a fixed set of permissions. Items like &ldquo;Add Property&rdquo;, &ldquo;Edit Property&rdquo;, &ldquo;Add Contact&rdquo;, etc<br /><br />The application itself is partitioned by divisions within our company: &ldquo;USA&rdquo;, &ldquo;Managed&rdquo;, &ldquo;Panama&rdquo;, etc<br /><br />When the user logs in, he selects which division he will working in. Based on the division selected, his roles (permission sets) could be different. E.g. in &ldquo;USA&rdquo; he might be &ldquo;Property Admin&rdquo; with edit rights to properties, but in &ldquo;Panama&rdquo; he has read only access, and in &ldquo;Managed&rdquo; he has a denied property access<br /><br />What is the best way using visual guard to define this common set of permissions and roles then split the user/role relationship by division inside a single application scope. I can easily see how to do in via separate applications, I just want to reuse the role/permissions to minimize the having to manage multiple several applications.<br /><br />This will be an increasingly common scenario for us in other applications as we continue to grow.<br /><br />Kevin White</div>
<div class="im"><strong>Answer :</strong></div>
<div class="im">By default, we would suggest the following solution:<br />1. create a VG Group for each division in your company.&nbsp;<br />2. Create roles containing your sets of permissions<br />3. Grant roles to VG Groups<br />4. place each user in one or several VG Groups<br />5. Modify your login form, so that users can select one VG Group<br />6. Load and apply the permissions corresponding to this group<br /><br />Steps 5 &amp; 6 would imply a few lines of code and making calls to VG APIs to get the list of role and apply the right set of permissions to the current user.<br /><br /></div>]]></content:encoded>
</item>
</channel>
</rss>