예제 #1
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before public void setUp() throws Throwable
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public virtual void SetUp()
        {
            TestGraphDatabaseFactory s = new TestEnterpriseGraphDatabaseFactory();

            _db = ( GraphDatabaseFacade )s.NewImpermanentDatabaseBuilder(TestDirectory.storeDir()).setConfig(SecuritySettings.property_level_authorization_enabled, "true").setConfig(SecuritySettings.property_level_authorization_permissions, "Agent=alias,secret").setConfig(SecuritySettings.procedure_roles, "test.*:procRole").setConfig(GraphDatabaseSettings.auth_enabled, "true").newGraphDatabase();
            EnterpriseAuthAndUserManager authManager = ( EnterpriseAuthAndUserManager )_db.DependencyResolver.resolveDependency(typeof(EnterpriseAuthManager));
            Procedures procedures = _db.DependencyResolver.resolveDependency(typeof(Procedures));

            procedures.RegisterProcedure(typeof(TestProcedure));
            EnterpriseUserManager userManager = authManager.UserManager;

            userManager.NewUser("Neo", password("eon"), false);
            userManager.NewUser("Smith", password("mr"), false);
            userManager.NewUser("Jones", password("mr"), false);
            userManager.NewUser("Morpheus", password("dealwithit"), false);

            userManager.NewRole("procRole", "Jones");
            userManager.NewRole("Agent", "Smith", "Jones");

            userManager.AddRoleToUser(PredefinedRoles.ARCHITECT, "Neo");
            userManager.AddRoleToUser(PredefinedRoles.READER, "Smith");
            userManager.AddRoleToUser(PredefinedRoles.READER, "Morpheus");

            _neo      = authManager.Login(authToken("Neo", "eon"));
            _smith    = authManager.Login(authToken("Smith", "mr"));
            _jones    = authManager.Login(authToken("Jones", "mr"));
            _morpheus = authManager.Login(authToken("Morpheus", "dealwithit"));
        }
예제 #2
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: void createNativeUser(String username, String password, String... roles) throws java.io.IOException, org.neo4j.kernel.api.exceptions.InvalidArgumentsException
        internal virtual void CreateNativeUser(string username, string password, params string[] roles)
        {
            EnterpriseAuthAndUserManager authManager = DbRule.resolveDependency(typeof(EnterpriseAuthAndUserManager));

            authManager.GetUserManager(AuthSubject.AUTH_DISABLED, true).newUser(username, password(password), false);

            foreach (string role in roles)
            {
                authManager.GetUserManager(AuthSubject.AUTH_DISABLED, true).addRoleToUser(role, username);
            }
        }
예제 #3
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Before @Override public void setup() throws Exception
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
        public override void Setup()
        {
            base.Setup();
            LdapServerRule.LdapServer.ConfidentialityRequired = _confidentialityRequired;

            EnterpriseAuthAndUserManager authManager = DbRule.resolveDependency(typeof(EnterpriseAuthAndUserManager));
            EnterpriseUserManager        userManager = authManager.UserManager;

            if (userManager != null)
            {
                userManager.NewUser(NONE_USER, _password.GetBytes(), false);
                userManager.NewUser(PROC_USER, _password.GetBytes(), false);
                userManager.NewUser(READ_USER, _password.GetBytes(), false);
                userManager.NewUser(WRITE_USER, _password.GetBytes(), false);
                userManager.AddRoleToUser(PredefinedRoles.READER, READ_USER);
                userManager.AddRoleToUser(PredefinedRoles.PUBLISHER, WRITE_USER);
                userManager.NewRole("role1", PROC_USER);
            }
        }
예제 #4
0
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public void setup(Dependencies dependencies) throws org.neo4j.internal.kernel.api.exceptions.KernelException
        public override void Setup(Dependencies dependencies)
        {
            Config                config           = dependencies.Config();
            Procedures            procedures       = dependencies.Procedures();
            LogProvider           logProvider      = dependencies.LogService().UserLogProvider;
            JobScheduler          jobScheduler     = dependencies.Scheduler();
            FileSystemAbstraction fileSystem       = dependencies.FileSystem();
            AccessCapability      accessCapability = dependencies.AccessCapability();

            SecurityLog securityLog = SecurityLog.create(config, dependencies.LogService().getInternalLog(typeof(GraphDatabaseFacade)), fileSystem, jobScheduler);

            Life.add(securityLog);

            _authManager = NewAuthManager(config, logProvider, securityLog, fileSystem, jobScheduler, accessCapability);
            Life.add(dependencies.DependencySatisfier().satisfyDependency(_authManager));

            // Register procedures
            procedures.RegisterComponent(typeof(SecurityLog), ctx => securityLog, false);
            procedures.RegisterComponent(typeof(EnterpriseAuthManager), ctx => _authManager, false);
            procedures.RegisterComponent(typeof(EnterpriseSecurityContext), ctx => AsEnterprise(ctx.get(SECURITY_CONTEXT)), true);

            if (SecurityConfig.nativeAuthEnabled)
            {
                procedures.RegisterComponent(typeof(EnterpriseUserManager), ctx => _authManager.getUserManager(ctx.get(SECURITY_CONTEXT).subject(), ctx.get(SECURITY_CONTEXT).Admin), true);
                if (config.Get(SecuritySettings.auth_providers).Count > 1)
                {
                    procedures.RegisterProcedure(typeof(UserManagementProcedures), true, "%s only applies to native users.");
                }
                else
                {
                    procedures.RegisterProcedure(typeof(UserManagementProcedures), true);
                }
            }
            else
            {
                procedures.RegisterComponent(typeof(EnterpriseUserManager), ctx => EnterpriseUserManager.NOOP, true);
            }

            procedures.RegisterProcedure(typeof(SecurityProcedures), true);
        }