private static void SecuritySetUp() { using (PermissionProviderContext context = new PermissionProviderContext()) { SecurityUser user = new SecurityUser() { Name = "John", Password = "******" }; SecurityUser admin = new SecurityUser() { Name = "Admin", Password = "******" }; SecurityRole roleForUser = new SecurityRole(); // "Address" member of contacts "Ezra" will be denied roleForUser.AddMemberPermission <EFCoreDemoDbContext, Contact>(SecurityOperation.Read, OperationState.Deny, "Address", (db, obj) => obj.Name == "Ezra"); // Contact "Kevin" will be denied roleForUser.AddObjectPermission <EFCoreDemoDbContext, Contact>(SecurityOperation.Read, OperationState.Deny, (db, obj) => obj.Address == "California"); admin.AddRole(new SecurityRole()); user.AddRole(roleForUser); context.Add(user); context.Add(admin); context.SaveChanges(); } }
private static IPermissionsProvider GetPermissionProvider() { using (PermissionProviderContext context = new PermissionProviderContext()) { string userName = ""; do { Console.WriteLine("Username (Admin or John): "); userName = Console.ReadLine(); } while(userName != "John" && userName != "Admin"); string password = userName; IPermissionsProvider permissionProvider = context.GetUserByCredentials(userName, password); if (permissionProvider == null) { throw new Exception("Incorrect username. Please try again with the right credentials."); } else { return(permissionProvider); } } }