Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
        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);
                }
            }
        }