private ExtendedSecurityRole CreateExporterRole()
        {
            ExtendedSecurityRole exporterRole = ObjectSpace.FindObject <ExtendedSecurityRole>(
                new BinaryOperator("Name", "Exporter"));

            if (exporterRole == null)
            {
                exporterRole           = ObjectSpace.CreateObject <ExtendedSecurityRole>();
                exporterRole.Name      = "Exporter";
                exporterRole.CanExport = true;
            }
            return(exporterRole);
        }
        private ExtendedSecurityRole CreateAdministratorRole()
        {
            ExtendedSecurityRole administratorRole = ObjectSpace.FindObject <ExtendedSecurityRole>(
                new BinaryOperator("Name", SecurityStrategyComplex.AdministratorRoleName));

            if (administratorRole == null)
            {
                administratorRole                  = ObjectSpace.CreateObject <ExtendedSecurityRole>();
                administratorRole.Name             = SecurityStrategyComplex.AdministratorRoleName;
                administratorRole.IsAdministrative = true;
            }
            return(administratorRole);
        }
        public override void UpdateDatabaseAfterUpdateSchema()
        {
            base.UpdateDatabaseAfterUpdateSchema();
            ExtendedSecurityRole defaultRole       = CreateUserRole();
            ExtendedSecurityRole administratorRole = CreateAdministratorRole();
            ExtendedSecurityRole exporterRole      = CreateExporterRole();
            Employee             userAdmin         = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "Admin"));

            if (userAdmin == null)
            {
                userAdmin          = ObjectSpace.CreateObject <Employee>();
                userAdmin.UserName = "******";
                userAdmin.IsActive = true;
                userAdmin.SetPassword("");
                userAdmin.Roles.Add(administratorRole);
            }
            Employee userSam = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "Sam"));

            if (userSam == null)
            {
                userSam          = ObjectSpace.CreateObject <Employee>();
                userSam.UserName = "******";
                userSam.IsActive = true;
                userSam.SetPassword("");
                userSam.Roles.Add(exporterRole);
                userSam.Roles.Add(defaultRole);
            }
            Employee userJohn = ObjectSpace.FindObject <Employee>(new BinaryOperator("UserName", "John"));

            if (userJohn == null)
            {
                userJohn          = ObjectSpace.CreateObject <Employee>();
                userJohn.UserName = "******";
                userJohn.IsActive = true;
                userJohn.Roles.Add(defaultRole);
                for (int i = 1; i <= 10; i++)
                {
                    string subject = string.Format("Task {0}", i);
                    Task   task    = ObjectSpace.FindObject <Task>(new BinaryOperator("Subject", subject));
                    if (task == null)
                    {
                        task         = ObjectSpace.CreateObject <Task>();
                        task.Subject = subject;
                        task.DueDate = DateTime.Today;
                        task.Save();
                        userJohn.Tasks.Add(task);
                    }
                }
            }
            ObjectSpace.CommitChanges();
        }
コード例 #4
0
ファイル: Updater.cs プロジェクト: ewin66/dev
        private void CreateLogin()
        {
            #region  CreateDefaultAdminRole
            ExtendedSecurityRole adminRole = ObjectSpace.FindObject <ExtendedSecurityRole>(
                new BinaryOperator("Name", SecurityStrategy.AdministratorRoleName));
            if (adminRole == null)
            {
                adminRole                  = ObjectSpace.CreateObject <ExtendedSecurityRole>();
                adminRole.Name             = SecurityStrategy.AdministratorRoleName;
                adminRole.IsAdministrative = true;
            }
            #endregion  CreateDefaultAdminRole

            #region CreateDefaultUserRole
            ExtendedSecurityRole userRole = ObjectSpace.FindObject <ExtendedSecurityRole>(
                new BinaryOperator("Name", "User"));
            if (userRole == null)
            {
                userRole      = ObjectSpace.CreateObject <ExtendedSecurityRole>();
                userRole.Name = "User";
                SecuritySystemTypePermissionObject userTypePermission =
                    ObjectSpace.CreateObject <SecuritySystemTypePermissionObject>();

                userTypePermission.TargetType = typeof(SecuritySystemUser);
                SecuritySystemObjectPermissionsObject currentUserObjectPermission =
                    ObjectSpace.CreateObject <SecuritySystemObjectPermissionsObject>();
                currentUserObjectPermission.Criteria      = "[Oid] = CurrentUserId()";
                currentUserObjectPermission.AllowNavigate = true;
                currentUserObjectPermission.AllowRead     = true;

                userTypePermission.ObjectPermissions.Add(currentUserObjectPermission);
                userRole.TypePermissions.Add(userTypePermission);
            }
            #endregion CreateDefaultUserRole

            #region CreateDefaultAdminAccount
            SecurityApplicationUser defaultEmployeeUserAccount = ObjectSpace.FindObject <SecurityApplicationUser>(new BinaryOperator("UserName", "admin"));
            if (defaultEmployeeUserAccount == null)
            {
                defaultEmployeeUserAccount          = ObjectSpace.CreateObject <SecurityApplicationUser>();
                defaultEmployeeUserAccount.UserName = "******";
                defaultEmployeeUserAccount.ExtendedSecurityRoles.Add(adminRole);
                defaultEmployeeUserAccount.SetPassword("@123456");
            }
            #endregion CreateDefaultAdminAccount
        }
        private ExtendedSecurityRole CreateUserRole()
        {
            ExtendedSecurityRole userRole = ObjectSpace.FindObject <ExtendedSecurityRole>(
                new BinaryOperator("Name", "Default"));

            if (userRole == null)
            {
                userRole      = ObjectSpace.CreateObject <ExtendedSecurityRole>();
                userRole.Name = "Default";

                userRole.SetTypePermission <Task>(SecurityOperations.FullAccess, SecurityPermissionState.Allow);
                userRole.SetTypePermission <Employee>(SecurityOperations.ReadOnlyAccess, SecurityPermissionState.Allow);
                userRole.AddObjectPermission <PermissionPolicyUser>(SecurityOperations.ReadOnlyAccess,
                                                                    "[Oid] = CurrentUserId()", SecurityPermissionState.Allow);
            }
            return(userRole);
        }