public AuthenticationModule(AccessControlMongoClient mongoDbClient, ISecurityTokenBuilder securityTokenBuilder)
        {
            this.securityTokenBuilder = securityTokenBuilder;
            var authenticationDatabase = mongoDbClient.Database;

            userCollection = authenticationDatabase.GetCollection <User>(nameof(User));
            // Consider referencing authroization module, which then can handle deletion of collection permissions when a user is deleted
            collectionPermissionsCollection = authenticationDatabase.GetCollection <CollectionPermissions>(nameof(CollectionPermissions));
        }
Example #2
0
        public SecurityService(
            IAccessControlListFinder accessControlListFinder,
            ISecurityTokenBuilder securityTokenBuilder,
            IAccessResolver accessResolver)
        {
            ArgumentUtility.CheckNotNull("accessControlListFinder", accessControlListFinder);
            ArgumentUtility.CheckNotNull("securityTokenBuilder", securityTokenBuilder);
            ArgumentUtility.CheckNotNull("accessResolver", accessResolver);

            _accessControlListFinder = accessControlListFinder;
            _securityTokenBuilder    = securityTokenBuilder;
            _accessResolver          = accessResolver;
        }
Example #3
0
        public override void SetUp()
        {
            base.SetUp();

            _mocks              = new MockRepository();
            _mockAclFinder      = _mocks.StrictMock <IAccessControlListFinder>();
            _mockTokenBuilder   = _mocks.StrictMock <ISecurityTokenBuilder>();
            _mockAccessResolver = _mocks.StrictMock <IAccessResolver>();

            _service = new SecurityService(_mockAclFinder, _mockTokenBuilder, _mockAccessResolver);
            _context = SecurityContext.Create(typeof(Order), "Owner", "UID: OwnerGroup", "OwnerTenant", new Dictionary <string, Enum>(), new Enum[0]);

            _clientTransaction = ClientTransaction.CreateRootTransaction();
            using (_clientTransaction.EnterNonDiscardingScope())
            {
                OrganizationalStructureFactory organizationalStructureFactory = new OrganizationalStructureFactory();
                _tenant = organizationalStructureFactory.CreateTenant();
            }

            _principalStub = _mocks.Stub <ISecurityPrincipal>();
            SetupResult.For(_principalStub.User).Return("group0/user1");

            _memoryAppender = new MemoryAppender();

            LoggerMatchFilter acceptFilter = new LoggerMatchFilter();

            acceptFilter.LoggerToMatch = "Remotion.SecurityManager";
            acceptFilter.AcceptOnMatch = true;
            _memoryAppender.AddFilter(acceptFilter);

            DenyAllFilter denyFilter = new DenyAllFilter();

            _memoryAppender.AddFilter(denyFilter);

            BasicConfigurator.Configure(_memoryAppender);
        }