Authorization: How to work with authorization bundle?
In order to use this bundle first activate it on the server. The description can be found in server section.
To work with a database where authorization is configured you need to reference
Raven.Client.Authorization on the client side.
The Authorization Bundle usage on the client side is limited to three methods:
- SetAuthorizationFor - which sets up permissions and tags for a specific document.
- GetAuthorizationFor - which allows you to read what permission and tags were set on a specific document.
- SecureFor - setup which user and operation are being performed.
For example, here is the code for authorization hospitalization:
session.SecureFor("Authorization/Users/DrHowser", "Hospitalization/Authorize"); Authorization.Patient mary = session.Load<Authorization.Patient>("Patients/MaryMallon"); mary.AuthorizeHospitalization(); session.SaveChanges();
If the user doesn't have the permissions to authorize hospitalization, an error will be raised when the change to the database in the SaveChanges call is persistent.