[HN Gopher] Feature flags and authorization abstract the same co...
       ___________________________________________________________________
        
       Feature flags and authorization abstract the same concept
        
       Author : zdw
       Score  : 16 points
       Date   : 2023-04-10 13:55 UTC (9 hours ago)
        
 (HTM) web link (ntietz.com)
 (TXT) w3m dump (ntietz.com)
        
       | bluefirebrand wrote:
       | At my company we use Feature Flags for Licenses, and
       | Authorization for users.
       | 
       | They are absolutely similar concepts, just as different levels.
       | 
       | If a customer wants to buy Analytics for example, it is
       | controlled via a feature flag to enable it for that entire
       | customer. By default all of thier user accounts can then access
       | Analytics.
       | 
       | Then if we want to restrict certain categories of their users
       | from seeing Analytics we can do that at the Authorization level.
       | 
       | Is it possible we could control all of this with one
       | Authorization layer? Yes, probably.
       | 
       | But this lets us have a bit more fine grained control over
       | things.
        
       | morelisp wrote:
       | Oh boy, we're gonna reinvent Zend ACLs.
        
       | eyelidlessness wrote:
       | I realize this is a bit reductionist, but since we're already
       | reducing the abstraction... all predicates abstract the same
       | concept:                 (thing: T, reducer: Reducer<T>): boolean
       | =>         criterion(reducer(thing))
       | 
       | It's good to recognize the similarity in these two cases, but why
       | stop there?
       | 
       | Edit: there's a little bit of novelty in recognizing that global
       | predicates implicitly take a global context argument, but that
       | can be similarly reduced to "all context-sensitive processes are
       | implicit functions over their context and any additional
       | parameters".
        
       ___________________________________________________________________
       (page generated 2023-04-10 23:02 UTC)