Authentication and permissionsΒΆ
fine grained authentication and authorization is not yet included as part of the Camelot framework.
what is included is the function :
camelot.model.authentication.get_current_authentication()
which returns an object of type :class:`camelot.model.authentication.AuthenticationMechanism
where the username is the username of the currently logged in user (because on most desktop apps, you don’t want a separate login process for your app, but rely on that of the OS).
this function can then be used if you build the Admin classes for your application :
- set the editable field attribute to a function that only returns Thrue when the current authentication requires editing of fields
- in the ApplicationAdmin.get_sections method, to hide/show sections depending on the logged in user
- in the EntityAdmin subclasses, in the get_field_attributes method, to set fields to editable=False/True depending on the logged in user