You are currently browsing legacy 3.0 version of documentation. Click here to switch to the newest 4.2 version.

We can help you with migration to the latest RavenDB

Contact Us Now
see on GitHub

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.

using Raven.Client.Authorization;

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.