コード例 #1
0
ファイル: Updater.cs プロジェクト: ewin66/IntecoAG.ERM
 private void UpdateEditAllRole()
 {
     using (IObjectSpace os = ObjectSpace.CreateNestedObjectSpace()) {
         csCSecurityRole EditAllRole = os.FindObject <csCSecurityRole>(
             new BinaryOperator("Name", ConfigurationManager.AppSettings["SecurityGroups.EditAllRole"]), true);
         if (EditAllRole == null)
         {
             EditAllRole      = os.CreateObject <csCSecurityRole>();
             EditAllRole.Name = ConfigurationManager.AppSettings["SecurityGroups.EditAllRole"];
         }
         EditAllRole.BeginUpdate();
         //
         EditAllRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Read);
         EditAllRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Write);
         EditAllRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Create);
         EditAllRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Delete);
         EditAllRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Navigate);
         //
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityRole), SecurityOperations.Read);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityRole), SecurityOperations.Write);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityRole), SecurityOperations.Create);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityRole), SecurityOperations.Delete);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityRole), SecurityOperations.Navigate);
         //
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityUser), SecurityOperations.Read);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityUser), SecurityOperations.Write);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityUser), SecurityOperations.Create);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityUser), SecurityOperations.Delete);
         EditAllRole.Permissions.DenyRecursive(typeof(IntecoAG.ERM.CS.Security.csCSecurityUser), SecurityOperations.Navigate);
         //
         EditAllRole.EndUpdate();
         os.CommitChanges();
     }
 }
コード例 #2
0
ファイル: Updater.cs プロジェクト: ewin66/IntecoAG.ERM
 /// <summary>
 /// Обновим права администратора, для политики Windows Autentication пользователь с административными
 /// правами создается автоматически, а вот список прав не обновляется
 /// Паша!!! Реализация не учитывает вариантов в системе безопасности и использует стандартный класс роли
 /// или его производные
 /// </summary>
 private void UpdateAdminRole()
 {
     using (IObjectSpace os = ObjectSpace.CreateNestedObjectSpace()) {
         csCSecurityRole administratorRole = os.FindObject <csCSecurityRole>(
             new BinaryOperator("Name", SecurityStrategy.AdministratorRoleName), true);
         if (administratorRole == null)
         {
             administratorRole      = os.CreateObject <csCSecurityRole>();
             administratorRole.Name = SecurityStrategy.AdministratorRoleName;
             ModelOperationPermissionData modelPermission =
                 os.CreateObject <ModelOperationPermissionData>();
             administratorRole.PersistentPermissions.Add(modelPermission);
         }
         administratorRole.BeginUpdate();
         administratorRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Read);
         administratorRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Write);
         administratorRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Create);
         administratorRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Delete);
         administratorRole.Permissions.GrantRecursive(typeof(object), SecurityOperations.Navigate);
         administratorRole.EndUpdate();
         if (administratorRole.Users.Count == 0)
         {
             // Паша !!! Неустойчивый вариант, нужен код определяющий тип User по конфигу Application
             csCSecurityUser user = os.FindObject <csCSecurityUser>(
                 new BinaryOperator("UserName", ConfigurationManager.AppSettings["DefaultAdminName"]));
             if (user != null)
             {
                 user.Roles.Add(administratorRole);
             }
         }
         os.CommitChanges();
     }
 }
コード例 #3
0
ファイル: Updater.cs プロジェクト: ewin66/IntecoAG.ERM
 private void UpdateNullRightRole()
 {
     using (IObjectSpace os = ObjectSpace.CreateNestedObjectSpace()) {
         csCSecurityRole NullRightRole = os.FindObject <csCSecurityRole>(
             new BinaryOperator("Name", ConfigurationManager.AppSettings["SecurityGroups.NullRightRole"]), true);
         if (NullRightRole == null)
         {
             NullRightRole      = os.CreateObject <csCSecurityRole>();
             NullRightRole.Name = ConfigurationManager.AppSettings["SecurityGroups.NullRightRole"];
         }
         NullRightRole.BeginUpdate();
         //
         NullRightRole.Permissions.DenyRecursive(typeof(object), SecurityOperations.Read);
         NullRightRole.Permissions.DenyRecursive(typeof(object), SecurityOperations.Navigate);
         NullRightRole.Permissions.DenyRecursive(typeof(object), SecurityOperations.Write);
         NullRightRole.Permissions.DenyRecursive(typeof(object), SecurityOperations.Create);
         NullRightRole.Permissions.DenyRecursive(typeof(object), SecurityOperations.Delete);
         //
         NullRightRole.EndUpdate();
         os.CommitChanges();
     }
 }