Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Please do not make this approach more granular. All existing access control paradigms are based on assumption that resource is something solid and cannot be divided (Files are good example of this). Otherwise it would be very overcomplicated and scary. </p> <p>The problem is that you mix permissions of different nature into the same framework. First type is 'who can access resources?', the second type is 'who should see this part of resource?'. </p> <p>My suggestion is making additional extra <code>data filtering layer</code>. </p> <p>It can use existing same roles-permissions assignments structure, or even extend it. Functionally this new layer and the main access control should be independent on each other. If you turn off one of them, the remaining system should continue working normally. </p> <p>Such "role-base data filtering" sub-system should be carefully planned depending on the situation. In asp.net mvc filtering can be made at two levels:</p> <ol> <li><p>Data access. When data is read from DB, some part of it is concealed depending on access.</p></li> <li><p>Presentation. In a simplest way different views render different levels of data access. Complicated way is using custom HtmlHelper extensions - which call that new sub-system to check access while rendering.</p></li> </ol> <hr> <p>Small update:</p> <p>As access control systems' main focus are 'objects', probably you could think on what you understand as 'object'. For example, an object field (column) can be considered. Such a shift would be a fundamental change and bring complexity of course, but it could implement most of your requirements.</p> <p>This would work similar to SQL, where a user should specify columns required, and system checks columns access before request execution, so probably you'd want to research how it's done there.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload