public void Insert(SitePermissionsInfo info) { var insertParams = new IDataParameter[] { GetParameter(ParamRoleName, DataType.VarChar, 255, info.RoleName), GetParameter(ParamSiteId, DataType.Integer, info.SiteId), GetParameter(ParamChannelIdCollection, DataType.Text, info.ChannelIdCollection), GetParameter(ParamChannelPermissions, DataType.Text, info.ChannelPermissions), GetParameter(ParamWebsitePermissions, DataType.Text, info.WebsitePermissions) }; ExecuteNonQuery(SqlInsert, insertParams); }
public void Update(SitePermissionsInfo info) { var updateParms = new IDataParameter[] { GetParameter(ParmRoleRoleName, DataType.VarChar, 255, info.RoleName), GetParameter(ParmSiteId, DataType.Integer, info.SiteId), GetParameter(ParmChannelIdCollection, DataType.Text, info.ChannelIdCollection), GetParameter(ParmChannelPermissions, DataType.Text, info.ChannelPermissions), GetParameter(ParmWebsitePermissions, DataType.Text, info.WebsitePermissions) }; ExecuteNonQuery(_sqlUpdate, updateParms); }
public override void Submit_OnClick(object sender, EventArgs e) { if (!Page.IsPostBack || !Page.IsValid) { return; } var systemPermissionsInfoList = Session[PageAdminRoleAdd.SystemPermissionsInfoListKey] as List <SitePermissionsInfo>; if (systemPermissionsInfoList != null) { var systemPermissionlist = new List <SitePermissionsInfo>(); foreach (var systemPermissionsInfo in systemPermissionsInfoList) { if (systemPermissionsInfo.SiteId == SiteId) { continue; } systemPermissionlist.Add(systemPermissionsInfo); } var channelIdList = TranslateUtils.StringCollectionToStringList(Request.Form["ChannelIdCollection"]); if (channelIdList.Count > 0 && CblChannelPermissions.SelectedItem != null || CblWebsiteSysPermissions.SelectedItem != null || CblWebsitePluginPermissions.SelectedItem != null) { var websiteSysPermissions = ControlUtils.SelectedItemsValueToStringCollection(CblWebsiteSysPermissions.Items); var websitePluginPermissions = ControlUtils.SelectedItemsValueToStringCollection(CblWebsitePluginPermissions.Items); var systemPermissionsInfo = new SitePermissionsInfo { SiteId = SiteId, ChannelIdCollection = TranslateUtils.ObjectCollectionToString(channelIdList), ChannelPermissions = ControlUtils.SelectedItemsValueToStringCollection(CblChannelPermissions.Items), WebsitePermissions = websiteSysPermissions + (string.IsNullOrEmpty(websitePluginPermissions) ? string.Empty : "," + websitePluginPermissions) }; systemPermissionlist.Add(systemPermissionsInfo); } Session[PageAdminRoleAdd.SystemPermissionsInfoListKey] = systemPermissionlist; } PageUtils.Redirect(PageAdminRoleAdd.GetReturnRedirectUrl(AuthRequest.GetQueryString("RoleName"))); }
public void InsertWithTrans(SitePermissionsInfo info, IDbTransaction trans) { if (IsExists(info.RoleName, info.SiteId, trans)) { DeleteWithTrans(info.RoleName, info.SiteId, trans); } var insertParms = new IDataParameter[] { GetParameter(ParmRoleRoleName, DataType.VarChar, 255, info.RoleName), GetParameter(ParmSiteId, DataType.Integer, info.SiteId), GetParameter(ParmChannelIdCollection, DataType.Text, info.ChannelIdCollection), GetParameter(ParmChannelPermissions, DataType.Text, info.ChannelPermissions), GetParameter(ParmWebsitePermissions, DataType.Text, info.WebsitePermissions) }; ExecuteNonQuery(trans, SqlInsert, insertParms); }
public List <SitePermissionsInfo> GetSystemPermissionsInfoList(string roleName) { var list = new List <SitePermissionsInfo>(); var parameters = new IDataParameter[] { GetParameter(ParamRoleName, DataType.VarChar, 255, roleName) }; using (var rdr = ExecuteReader(SqlSelectAllByRoleName, parameters)) { while (rdr.Read()) { var i = 0; var info = new SitePermissionsInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); list.Add(info); } rdr.Close(); } return(list); }
public SitePermissionsInfo GetSystemPermissionsInfo(string roleName, int siteId) { SitePermissionsInfo permissionsInfo = null; var parameters = new IDataParameter[] { GetParameter(ParamRoleName, DataType.VarChar, 255, roleName), GetParameter(ParamSiteId, DataType.Integer, siteId) }; using (var rdr = ExecuteReader(SqlSelectAllByRoleNameAndSiteId, parameters)) { if (rdr.Read()) { var i = 0; permissionsInfo = new SitePermissionsInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); } rdr.Close(); } return(permissionsInfo); }
public List <SitePermissionsInfo> GetSystemPermissionsInfoListBySiteId(int siteId, string whereStr) { var list = new List <SitePermissionsInfo>(); var parms = new IDataParameter[] { GetParameter(ParmSiteId, DataType.Integer, siteId) }; using (var rdr = ExecuteReader( $"SELECT RoleName, SiteId, ChannelIdCollection, ChannelPermissions, WebsitePermissions FROM siteserver_SitePermissions WHERE SiteId = @SiteId {whereStr} ", parms)) { while (rdr.Read()) { var i = 0; var info = new SitePermissionsInfo(GetString(rdr, i++), GetInt(rdr, i++), GetString(rdr, i++), GetString(rdr, i++), GetString(rdr, i)); list.Add(info); } rdr.Close(); } return(list); }
private object GetSitePermissionsObject(int roleId, int siteId, AuthenticatedRequest request) { SitePermissionsInfo sitePermissionsInfo = null; if (roleId > 0) { var roleInfo = DataProvider.RoleDao.GetRoleInfo(roleId); sitePermissionsInfo = DataProvider.SitePermissionsDao.GetSystemPermissionsInfo(roleInfo.RoleName, siteId); } if (sitePermissionsInfo == null) { sitePermissionsInfo = new SitePermissionsInfo(); } var siteInfo = SiteManager.GetSiteInfo(siteId); var sitePermissions = new List <Permission>(); var pluginPermissions = new List <Permission>(); var channelPermissions = new List <Permission>(); if (request.AdminPermissionsImpl.IsSystemAdministrator) { foreach (var permission in PermissionConfigManager.Instance.WebsiteSysPermissions) { sitePermissions.Add(new Permission { Name = permission.Name, Text = permission.Text, Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name) }); } foreach (var permission in PermissionConfigManager.Instance.WebsitePluginPermissions) { pluginPermissions.Add(new Permission { Name = permission.Name, Text = permission.Text, Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name) }); } var channelPermissionList = PermissionConfigManager.Instance.ChannelPermissions; foreach (var permission in channelPermissionList) { if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel1) { if (siteInfo.Additional.IsCheckContentLevel) { if (siteInfo.Additional.CheckContentLevel < 1) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel2) { if (siteInfo.Additional.IsCheckContentLevel) { if (siteInfo.Additional.CheckContentLevel < 2) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel3) { if (siteInfo.Additional.IsCheckContentLevel) { if (siteInfo.Additional.CheckContentLevel < 3) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel4) { if (siteInfo.Additional.IsCheckContentLevel) { if (siteInfo.Additional.CheckContentLevel < 4) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel5) { if (siteInfo.Additional.IsCheckContentLevel) { if (siteInfo.Additional.CheckContentLevel < 5) { continue; } } else { continue; } } channelPermissions.Add(new Permission { Name = permission.Name, Text = permission.Text, Selected = StringUtils.In(sitePermissionsInfo.ChannelPermissions, permission.Name) }); } } else { if (request.AdminPermissionsImpl.HasSitePermissions(siteId)) { var websitePermissionList = request.AdminPermissionsImpl.GetSitePermissions(siteId); foreach (var websitePermission in websitePermissionList) { foreach (var permission in PermissionConfigManager.Instance.WebsiteSysPermissions) { if (permission.Name == websitePermission) { sitePermissions.Add(new Permission { Name = permission.Name, Text = permission.Text, Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name) }); } } foreach (var permission in PermissionConfigManager.Instance.WebsitePluginPermissions) { if (permission.Name == websitePermission) { pluginPermissions.Add(new Permission { Name = permission.Name, Text = permission.Text, Selected = StringUtils.In(sitePermissionsInfo.WebsitePermissions, permission.Name) }); } } } } var channelPermissionList = request.AdminPermissionsImpl.GetChannelPermissions(siteId); foreach (var channelPermission in channelPermissionList) { foreach (var permission in PermissionConfigManager.Instance.ChannelPermissions) { if (permission.Name == channelPermission) { if (channelPermission == ConfigManager.ChannelPermissions.ContentCheck) { if (siteInfo.Additional.IsCheckContentLevel) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel1) { if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 1) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel2) { if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 2) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel3) { if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 3) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel4) { if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 4) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel5) { if (siteInfo.Additional.IsCheckContentLevel == false || siteInfo.Additional.CheckContentLevel < 5) { continue; } } channelPermissions.Add(new Permission { Name = permission.Name, Text = permission.Text, Selected = StringUtils.In(sitePermissionsInfo.ChannelPermissions, permission.Name) }); } } } } var channelInfo = ChannelManager.GetChannelInfo(siteId, siteId); channelInfo.Children = ChannelManager.GetChildren(siteId, siteId); var checkedChannelIdList = new List <int>(); foreach (var i in TranslateUtils.StringCollectionToIntList(sitePermissionsInfo.ChannelIdCollection)) { if (!checkedChannelIdList.Contains(i)) { checkedChannelIdList.Add(i); } } return(new { Value = siteId, SitePermissions = sitePermissions, PluginPermissions = pluginPermissions, ChannelPermissions = channelPermissions, ChannelInfo = channelInfo, CheckedChannelIdList = checkedChannelIdList }); }
public void Page_Load(object sender, EventArgs e) { if (IsForbidden) { return; } LtlNodeTree.Text = GetNodeTreeHtml(); if (IsPostBack) { return; } VerifyAdministratorPermissions(ConfigManager.SettingsPermissions.Admin); if (AuthRequest.AdminPermissions.IsSystemAdministrator) { var channelPermissions = PermissionConfigManager.Instance.ChannelPermissions; foreach (var permission in channelPermissions) { if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel1) { if (SiteInfo.Additional.IsCheckContentLevel) { if (SiteInfo.Additional.CheckContentLevel < 1) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel2) { if (SiteInfo.Additional.IsCheckContentLevel) { if (SiteInfo.Additional.CheckContentLevel < 2) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel3) { if (SiteInfo.Additional.IsCheckContentLevel) { if (SiteInfo.Additional.CheckContentLevel < 3) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel4) { if (SiteInfo.Additional.IsCheckContentLevel) { if (SiteInfo.Additional.CheckContentLevel < 4) { continue; } } else { continue; } } else if (permission.Name == ConfigManager.ChannelPermissions.ContentCheckLevel5) { if (SiteInfo.Additional.IsCheckContentLevel) { if (SiteInfo.Additional.CheckContentLevel < 5) { continue; } } else { continue; } } var listItem = new ListItem(permission.Text, permission.Name); CblChannelPermissions.Items.Add(listItem); } } else { PhChannelPermissions.Visible = false; var channelPermissions = AuthRequest.AdminPermissions.GetChannelPermissions(SiteId); foreach (var channelPermission in channelPermissions) { foreach (var permission in PermissionConfigManager.Instance.ChannelPermissions) { if (permission.Name == channelPermission) { if (channelPermission == ConfigManager.ChannelPermissions.ContentCheck) { if (SiteInfo.Additional.IsCheckContentLevel) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel1) { if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 1) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel2) { if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 2) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel3) { if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 3) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel4) { if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 4) { continue; } } else if (channelPermission == ConfigManager.ChannelPermissions.ContentCheckLevel5) { if (SiteInfo.Additional.IsCheckContentLevel == false || SiteInfo.Additional.CheckContentLevel < 5) { continue; } } PhChannelPermissions.Visible = true; var listItem = new ListItem(permission.Text, permission.Name); CblChannelPermissions.Items.Add(listItem); } } } } if (AuthRequest.AdminPermissions.IsSystemAdministrator) { var websitePermissions = PermissionConfigManager.Instance.WebsitePermissions; foreach (var permission in websitePermissions) { var listItem = new ListItem(permission.Text, permission.Name); CblWebsitePermissions.Items.Add(listItem); } } else { PhWebsitePermissions.Visible = false; if (AuthRequest.AdminPermissions.HasSitePermissions(SiteId)) { var websitePermissionList = AuthRequest.AdminPermissions.GetSitePermissions(SiteId); foreach (var websitePermission in websitePermissionList) { foreach (var permission in PermissionConfigManager.Instance.WebsitePermissions) { if (permission.Name == websitePermission) { PhWebsitePermissions.Visible = true; var listItem = new ListItem(permission.Text, permission.Name); CblWebsitePermissions.Items.Add(listItem); } } } } } var systemPermissionsInfoList = Session[PageAdminRoleAdd.SystemPermissionsInfoListKey] as List <SitePermissionsInfo>; if (systemPermissionsInfoList != null) { SitePermissionsInfo systemPermissionsInfo = null; foreach (var sitePermissionsInfo in systemPermissionsInfoList) { if (sitePermissionsInfo.SiteId == SiteId) { systemPermissionsInfo = sitePermissionsInfo; break; } } if (systemPermissionsInfo == null) { return; } foreach (ListItem item in CblChannelPermissions.Items) { item.Selected = StringUtils.In(systemPermissionsInfo.ChannelPermissions, item.Value); } foreach (ListItem item in CblWebsitePermissions.Items) { item.Selected = StringUtils.In(systemPermissionsInfo.WebsitePermissions, item.Value); } } }