//------------------------------------------- protected virtual void savePermissions() { StringBuilder sb = new StringBuilder(); // 默认使用 SiteRole IList roles = GetRoles(); foreach (IRole role in roles) { IList roleActions = GetActionsByRole( role ); //SecurityString ss = new SecurityString( role.TypeFullName, role.TypeId, roleActions ); SecurityString ss = new SecurityString( role.Role.GetType().FullName, role.Role.Id, roleActions ); sb.Append( ss.ToString() ); sb.Append( SecurityString.roleSeperator ); } _securityString = sb.ToString(); if (strUtil.HasText( _securityString )) _securityString = _securityString.TrimEnd( SecurityString.roleSeperator ); _objSecurity.Security = _securityString; _objSecurity.update(); }
public virtual IDictionary GetRoleActionsAll() { if (_roleActionsAll != null) return _roleActionsAll; if (strUtil.IsNullOrEmpty( _securityString )) return new Hashtable(); _roleActionsAll = new Hashtable(); IList actions = GetActionAll(); string[] arrRolePermission = _securityString.Split( SecurityString.roleSeperator ); if (arrRolePermission.Length > 0) { for (int i = 0; i < arrRolePermission.Length; i++) { if (strUtil.IsNullOrEmpty( arrRolePermission[i] )) continue; SecurityString ss = new SecurityString( arrRolePermission[i] ); if (ss.IsError()) continue; _roleActionsAll.Add( ss.GetKey(), ss.GetActions( actions ) ); } } return _roleActionsAll; }