private void SetupEntities()
        {
            user = new User {
                Name = "Ayende"
            };
            account = new Account {
                Name = "south sand"
            };

            session.Save(user);
            session.Save(account);

            authorizationService      = ServiceLocator.Current.GetInstance <IAuthorizationService>();
            permissionService         = ServiceLocator.Current.GetInstance <IPermissionsService>();
            permissionsBuilderService = ServiceLocator.Current.GetInstance <IPermissionsBuilderService>();
            authorizationRepository   = ServiceLocator.Current.GetInstance <IAuthorizationRepository>();

            authorizationRepository.CreateUsersGroup("Administrators");
            authorizationRepository.CreateEntitiesGroup("Important Accounts");
            authorizationRepository.CreateOperation("/Account/Edit");
            authorizationRepository.CreateOperation("/Account/Disable");

            authorizationRepository.AssociateUserWith(user, "Administrators");
            authorizationRepository.AssociateEntityWith(account, "Important Accounts");
        }
        private void SetupEntities()
        {
            user = new User();
            user.Name = "Ayende";
            account = new Account();
            account.Name = "south sand";

            UnitOfWork.CurrentSession.Save(user);
            UnitOfWork.CurrentSession.Save(account);

            authorizationService = IoC.Resolve<IAuthorizationService>();
            permissionService = IoC.Resolve<IPermissionsService>();
            permissionsBuilderService = IoC.Resolve<IPermissionsBuilderService>();
            authorizationRepository = IoC.Resolve<IAuthorizationRepository>();
            authorizationRepository.CreateUsersGroup("Administrators");
            authorizationRepository.CreateEntitiesGroup("Important Accounts");
            authorizationRepository.CreateOperation("/Account/Edit");

            UnitOfWork.Current.TransactionalFlush();

            authorizationRepository.AssociateUserWith(user, "Administrators");
            authorizationRepository.AssociateEntityWith(account, "Important Accounts");

            UnitOfWork.Current.TransactionalFlush();
        }
Exemple #3
0
 public static void AllowOnEverything(this IPermissionsBuilderService pbs, UsersGroup group, params IEnumerable[] ops)
 {
     foreach (var op in ops.SelectMany(x => x.Cast <Enum>()))
     {
         pbs.Allow(op.ToOperation()).For(group).OnEverything().DefaultLevel().Save();
     }
 }
 public PermissionController(IRepository repository,
     IPermissionsService permissionsService,
     IAuthorizationRepository authorizationRepository,
     IPermissionsBuilderService permissionsBuilderService,
     ISelectListItemService selectListItemService)
 {
     _repository = repository;
     _permissionsService = permissionsService;
     _authorizationRepository = authorizationRepository;
     _permissionsBuilderService = permissionsBuilderService;
     _selectListItemService = selectListItemService;
 }
        protected override void SetUp()
        {
            base.SetUp();

            var currentConversation = ServiceLocator.Current.GetInstance<IConversation>();
            using (currentConversation.SetAsCurrent())
            {
                _authZRepo = ServiceLocator.Current.GetInstance<AuthorizationRepositoryFactory>().Create();
                _userRepository = ServiceLocator.Current.GetInstance<UserRepository>();
                _permissionBuilderService = ServiceLocator.Current.GetInstance<PermissionsBuilderServiceFactory>().Create();

                _seniorUser = _userRepository.Create(new User { Name = "Senior" });
                _juniorUser = _userRepository.Create(new User { Name = "Junior" });
                _seniorMgrs = _authZRepo.CreateUsersGroup("Senior Managers");
                _juniorMgrs = _authZRepo.CreateUsersGroup("Junior Managers");
                _op4Senior = _authZRepo.CreateOperation("/Operation/ForSenior");
                currentConversation.Flush();
                _op4Junior = _authZRepo.CreateOperation("/Operation/ForJunior");

                _authZRepo.AssociateUserWith(_seniorUser, _seniorMgrs);
                _authZRepo.AssociateUserWith(_juniorUser, _juniorMgrs);

                _permissionBuilderService
                    .Allow(_op4Junior)
                    .For(_juniorMgrs)
                    .OnEverything()
                    .DefaultLevel()
                    .Save();

                _permissionBuilderService
                    .Deny(_op4Senior)
                    .For(_juniorMgrs)
                    .OnEverything()
                    .DefaultLevel()
                    .Save();

                _permissionBuilderService
                    .Allow(_op4Senior)
                    .For(_seniorMgrs)
                    .OnEverything()
                    .DefaultLevel()
                    .Save();

                currentConversation.Flush();
            }

            _targetController = ServiceLocator.Current.GetInstance<PermissionController>();
        }
Exemple #6
0
        public RihnoRoleProvider()
        {
            var cfg = new Configuration()
                      .SetProperty(Environment.ConnectionDriver, typeof(Sql2008ClientDriver).AssemblyQualifiedName)
                      .SetProperty(Environment.Dialect, typeof(MsSql2008Dialect).AssemblyQualifiedName)
                      .SetProperty(Environment.ConnectionString, Storage.RhinoConnectionString)//ConfigurationManager.AppSettings["RhinoSecurity.ConnectionString"]) amit 23052017
                      .SetProperty(Environment.ReleaseConnections, "on_close")
                      .SetProperty(Environment.UseSecondLevelCache, "true")
                      .SetProperty(Environment.UseQueryCache, "true")
                      .SetProperty(Environment.CacheProvider, typeof(HashtableCacheProvider).AssemblyQualifiedName)
                      .AddAssembly(typeof(AMS.Broker.DataStore.User).Assembly);

            Security.Configure <AMS.Broker.DataStore.User>(cfg, SecurityTableStructure.Prefix);

            Factory = cfg.BuildSessionFactory();

            Session           = Factory.OpenSession();
            Session.FlushMode = FlushMode.Always;

            AuthRepository            = new AuthorizationRepository(Session);
            PermissionsBuilderService = new PermissionsBuilderService(Session, AuthRepository);
            PermissionService         = new PermissionsService(AuthRepository, Session);
            AuthorizationService      = new AuthorizationService(PermissionService, AuthRepository);
        }
        private void SetupEntities()
        {
            user = new User {Name = "Ayende"};
            account = new Account {Name = "south sand"};

            session.Save(user);
            session.Save(account);

            authorizationService = ServiceLocator.Current.GetInstance<IAuthorizationService>();
            permissionService = ServiceLocator.Current.GetInstance<IPermissionsService>();
            permissionsBuilderService = ServiceLocator.Current.GetInstance<IPermissionsBuilderService>();
            authorizationRepository = ServiceLocator.Current.GetInstance<IAuthorizationRepository>();

            authorizationRepository.CreateUsersGroup("Administrators");
            authorizationRepository.CreateEntitiesGroup("Important Accounts");
            authorizationRepository.CreateOperation("/Account/Edit");

            authorizationRepository.AssociateUserWith(user, "Administrators");
            authorizationRepository.AssociateEntityWith(account, "Important Accounts");
        }
Exemple #8
0
 public DeploymentController(ISession session, IServiceBus bus, Configuration cfg, IPermissionsBuilderService pbs, IAuthorizationService r, IAuthorizationRepository rep)
 {
     this.session = session;
     this.bus     = bus;
     this.cfg     = cfg;
     this.pbs     = pbs;
     this.r       = r;
     this.rep     = rep;
 }
 public NhUserSecurityInterceptor(IPermissionsBuilderService pbs, IAuthorizationRepository authz)
 {
     this.pbs   = pbs;
     this.authz = authz;
 }
Exemple #10
0
 public NhContestSecurityInterceptor(IAuthorizationRepository authz, IPermissionsBuilderService pbs, IPermissionsService pms)
 {
     this.authz = authz;
     this.pbs   = pbs;
     this.pms   = pms;
 }
Exemple #11
0
 public static IForPermissionBuilder Deny(this IPermissionsBuilderService pbs, Enum op)
 {
     return(pbs.Deny(op.ToOperation()));
 }