Hi Jody,
That sounds like real DOD level stuff. Fortunately I don't need that level
but it gives me some ideas.

What kind of performance hit did you see as a result of all that extra
processing?

On Fri, May 12, 2017 at 4:09 PM, G-Mail via 4D_Tech <[email protected]>
wrote:

> Kirk:
>
> Of course there are all sorts of ways this could be done. It all depends
> on the complexity.
>
> We had to record by each user which records they were restricted from
> seeing. We also needed to permit / restrict by a group as well.
> Therefore we could not put a ‘flag’ within the record. When a record was
> first found (i.e. Query) before being displayed we would have to check each
> record in the selection to see if there was a record in our ‘Restricted’
> table for the currently signed in User. There could be different levels of
> restrictions as well.
>
> For some kinds of restricted records we also needed to record what the
> query was that found the record(s). This was to see if they were hunting
> for that record, or it was by accident.
>
> Therefore for each user there was an associated table that indicated which
> groups they were in.
> We used the record keys (Primary Key) to search for each record to see if
> the current user was restricted in regard to the record.
>
> Of course this could be much easier if there are less possibilities.
>
> Jody
>
>
> > On 05/12/2017, at 1:42 PM, Kirk Brooks via 4D_Tech <[email protected]>
> wrote:
> >
> > Hi folks,
> > I'd like to hear from some of you who have implemented systems that allow
> > for record-level access control in a 4D database. This is the sort of
> thing
> > where we want to prevent unauthorized users from seeing or inferring the
> > 'restricted' records.
> >
> > Theoretically it's pretty easy - include a field on relevant tables
> called
> > 'restricted' or some such and the rules are you filter those records out
> if
> > the user's permission doesn't allow them. Simple enough but, as we know,
> > there be devils there. Maybe it's a whole different approach to the
> > structure?
> >
> > I want to hear about the details of what it took to make that work with
> > respect to related records, queries on related records, sorting and so
> on.
> >
> > --
> > Kirk Brooks
> > San Francisco, CA
> > =======================
> >
> > *The only thing necessary for the triumph of evil is for good men to do
> > nothing.*
> >
> > *- Edmund Burke*
> > **********************************************************************
> > 4D Internet Users Group (4D iNUG)
> > FAQ:  http://lists.4d.com/faqnug.html
> > Archive:  http://lists.4d.com/archives.html
> > Options: http://lists.4d.com/mailman/options/4d_tech
> > Unsub:  mailto:[email protected]
> > **********************************************************************
>
> **********************************************************************
> 4D Internet Users Group (4D iNUG)
> FAQ:  http://lists.4d.com/faqnug.html
> Archive:  http://lists.4d.com/archives.html
> Options: http://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:[email protected]
> **********************************************************************




-- 
Kirk Brooks
San Francisco, CA
=======================

*The only thing necessary for the triumph of evil is for good men to do
nothing.*

*- Edmund Burke*
**********************************************************************
4D Internet Users Group (4D iNUG)
FAQ:  http://lists.4d.com/faqnug.html
Archive:  http://lists.4d.com/archives.html
Options: http://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:[email protected]
**********************************************************************

Reply via email to