Skip to content

Instantly share code, notes, and snippets.

@charlessolar
Last active August 29, 2015 14:01
Show Gist options
  • Save charlessolar/2a41b4a1d23770131b96 to your computer and use it in GitHub Desktop.
Save charlessolar/2a41b4a1d23770131b96 to your computer and use it in GitHub Desktop.
Security Concept v2 - Compiles!
public class Security : Descriptor
{
public Security()
{
// When receiving queries of type Queries.GetItem users need permission GetItems
When.Receiving().Queries().OfType<Queries.GetItem>()
.Users().HavePermission("GetItems");
// When recieving queries of type Queries.GetItem users need permission GetItems and users need permission Reading
When.Receiving().Queries().OfType<Queries.GetItem>(s =>
{
s.Users().HavePermission("GetItems");
s.Users().HavePermission("Reading");
});
When.Receiving().Queries().OfType<Queries.GetItem>()
.Users().HavePermission("Test");
When.Executing().Functions().InNamespace("SecureSpace")
.Users().HavePermission("Admin");
When.Reading().Properties().InType<Queries.GetItem>("Number")
.Users().HavePermission("GetItem");
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment