public bool CanInjectModule(ModuleInfo module, PortalSettings portalSettings) { return(ModulePermissionController.CanViewModule(module) && module.IsDeleted == false && ((module.StartDate < DateTime.Now && module.EndDate > DateTime.Now) || Globals.IsLayoutMode() || Globals.IsEditMode() )); }
private bool ProcessMasterModules() { bool bSuccess = true; if (TabPermissionController.CanViewPage()) { if (!CheckExpired()) { if ((PortalSettings.ActiveTab.StartDate < DateTime.Now && PortalSettings.ActiveTab.EndDate > DateTime.Now) || Globals.IsLayoutMode()) { if (PortalSettings.ActiveTab.Modules.Count > 0) { foreach (ModuleInfo objModule in PortalSettings.ActiveTab.Modules) { if (ModulePermissionController.CanViewModule(objModule) && objModule.IsDeleted == false) { if ((objModule.StartDate < DateTime.Now && objModule.EndDate > DateTime.Now) || Common.Globals.IsLayoutMode() || Common.Globals.IsEditMode()) { Pane pane = null; bool bFound = Panes.TryGetValue(objModule.PaneName.ToLowerInvariant(), out pane); if (!bFound) { bFound = Panes.TryGetValue(Common.Globals.glbDefaultPane.ToLowerInvariant(), out pane); } if (bFound) { bSuccess = InjectModule(pane, objModule); } else { ModuleLoadException lex; lex = new ModuleLoadException(PANE_LOAD_ERROR); Controls.Add(new ErrorContainer(PortalSettings, MODULELOAD_ERROR, lex).Container); Exceptions.LogException(lex); } } } } } } else { AddPageMessage(this, "", TABACCESS_ERROR, UI.Skins.Controls.ModuleMessage.ModuleMessageType.YellowWarning); } } else { AddPageMessage(this, "", string.Format(CONTRACTEXPIRED_ERROR, PortalSettings.PortalName, Common.Globals.GetMediumDate(PortalSettings.ExpiryDate.ToString()), PortalSettings.Email), UI.Skins.Controls.ModuleMessage.ModuleMessageType.RedError); } } else { Response.Redirect(Common.Globals.AccessDeniedURL(TABACCESS_ERROR), true); } return(bSuccess); }
public HttpResponseMessage GetShouts() { int moduleId = Request.FindModuleId(); int tabId = Request.FindTabId(); bool allowEdit = false; bool allowInput = true; ShoutBoxModuleSettings.ProfileImage profileImg = 0; Log.DebugFormat("moduleId:{0}, tabId:{1}", moduleId, tabId); var moduleSettings = new ShoutBoxModuleSettings(moduleId, tabId); allowInput = moduleSettings.AllowAnonymous; profileImg = moduleSettings.ProfileImageSource; var posts = _repository .GetDisplayPosts(moduleId, moduleSettings.NumberOfPostsToReturn); if (this.UserInfo != null) { //work out if the userinfo //object has edit permission on this module var moduleInfo = ModuleController.Instance.GetModule(moduleId, this.Request.FindTabId(), false); allowEdit = ModulePermissionController .HasModuleAccess(SecurityAccessLevel.Edit, null, moduleInfo); //if we don't allow anonymous check to see if we are auth'd if (!allowInput) { allowInput = this.UserInfo != null && this.UserInfo.UserID > 0; } } Log.DebugFormat("Sending {0} posts to the client", posts.Count()); var response = new { success = true, data = new { posts = posts.ToArray(), allowEdit = allowEdit, allowInput = allowInput, profileImage = profileImg } }; return(this.Request.CreateResponse(response)); }
/// <summary> /// Handles the <see cref="Button.Click"/> event of the <see cref="DeleteResponseButton"/> control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs"/> instance containing the event data.</param> private void DeleteResponseButton_Click(object sender, EventArgs e) { if (!ModulePermissionController.CanEditModuleContent(this.ModuleConfiguration)) { return; } new SurveyRepository().DeleteReadOnlySurvey(this.ResponseHeaderId); this.Response.Redirect(this.BuildLinkUrl(this.TabId)); }
private void LoadPaneModulesList() { var items = new Dictionary <string, string> { { string.Empty, string.Empty } }; foreach (ModuleInfo m in PortalSettings.Current.ActiveTab.Modules) { //if user is allowed to view module and module is not deleted if (ModulePermissionController.CanViewModule(m) && !m.IsDeleted) { //modules which are displayed on all tabs should not be displayed on the Admin or Super tabs if (!m.AllTabs || !PortalSettings.Current.ActiveTab.IsSuperTab) { if (m.PaneName == PaneLst.SelectedValue) { int moduleOrder = m.ModuleOrder; while (items.ContainsKey(moduleOrder.ToString()) || moduleOrder == 0) { moduleOrder++; } items.Add(moduleOrder.ToString(), m.ModuleTitle); } } } } PaneModulesLst.Enabled = true; PaneModulesLst.Items.Clear(); PaneModulesLst.DataValueField = "key"; PaneModulesLst.DataTextField = "value"; PaneModulesLst.DataSource = items; PaneModulesLst.DataBind(); if ((PaneModulesLst.Items.Count <= 1)) { ListItem listItem = PositionLst.Items.FindByValue("ABOVE"); if (((listItem != null))) { PositionLst.Items.Remove(listItem); } listItem = PositionLst.Items.FindByValue("BELOW"); if (((listItem != null))) { PositionLst.Items.Remove(listItem); } PaneModulesLst.Enabled = false; } if ((PositionLst.SelectedValue == "TOP" || PositionLst.SelectedValue == "BOTTOM")) { PaneModulesLst.Enabled = false; } }
// This method must be thread-safe since it is called by the caching module. protected override bool AuthorizeCore(HttpContextBase context) { var activeModule = FindModuleInfo(context); if (activeModule != null) { return(ModulePermissionController.HasModuleAccess(AccessLevel, PermissionKey, activeModule)); } return(false); }
/// ----------------------------------------------------------------------------- /// <summary> /// Raises the MembershipUnLocked Event /// </summary> /// <history> /// [cnurse] 03/01/2006 Created /// </history> /// ----------------------------------------------------------------------------- public void OnMembershipUnLocked(EventArgs e) { if ((IsUserOrAdmin == false) && (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration))) { return; } if (MembershipUnLocked != null) { MembershipUnLocked(this, e); } }
public override bool IsAuthorized(AuthFilterContext context) { var activeModule = FindModuleInfo(context.ActionContext.Request); if (activeModule != null) { return(ModulePermissionController.HasModuleAccess(AccessLevel, PermissionKey, activeModule)); } return(false); }
/// <summary> /// 验证用户有无模块权限 /// </summary> /// <param name="AccessLevel"></param> /// <param name="permissionKey"></param> /// <param name="__ModuleConfiguration"></param> /// <param name="objUser"></param> /// <returns></returns> public static bool HasModuleAccess(SecurityAccessLevel AccessLevel, string permissionKey, ModuleInfo __ModuleConfiguration, UserInfo objUser) { bool blnAuthorized = false; if (objUser != null && objUser.IsSuperUser) { blnAuthorized = true; } else { switch (AccessLevel) { case SecurityAccessLevel.Anonymous: blnAuthorized = true; break; case SecurityAccessLevel.View: if (TabPermissionController.CanViewPage() || ModulePermissionController.CanViewModule(__ModuleConfiguration)) { blnAuthorized = true; } break; case SecurityAccessLevel.Edit: if (TabPermissionController.CanAddContentToPage()) { blnAuthorized = true; } else { if (string.IsNullOrEmpty(permissionKey)) { permissionKey = "CONTENT,DELETE,EDIT,EXPORT,IMPORT,MANAGE"; } if (__ModuleConfiguration != null && ModulePermissionController.CanViewModule(__ModuleConfiguration) && (ModulePermissionController.HasModulePermission(__ModuleConfiguration.ModulePermissions, permissionKey) || ModulePermissionController.HasModulePermission(__ModuleConfiguration.ModulePermissions, "EDIT"))) { blnAuthorized = true; } } break; case SecurityAccessLevel.Admin: if (TabPermissionController.CanAddContentToPage()) { blnAuthorized = true; } break; case SecurityAccessLevel.Host: break; } } return(blnAuthorized); }
private IList <ModuleInfo> GetModules(int tabID) { var isRemote = TabController.Instance.GetTab(tabID, Null.NullInteger, false).PortalID != PortalSettings.Current.PortalId; var tabModules = ModuleController.Instance.GetTabModules(tabID); var pageModules = isRemote ? tabModules.Values.Where(m => ModuleSupportsSharing(m)).ToList() : tabModules.Values.Where(m => ModulePermissionController.CanAdminModule(m) && m.IsDeleted == false).ToList(); return(pageModules); }
private IList <ModuleInfo> GetModules(int tabID) { var isRemote = TabController.Instance.GetTab(tabID, Null.NullInteger, false).PortalID != PortalSettings.Current.PortalId; var tabModules = ModuleController.Instance.GetTabModules(tabID); var pageModules = isRemote ? tabModules.Values.Where(m => ModuleSupportsSharing(m) && !m.IsDeleted).ToList() : tabModules.Values.Where(m => ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "MANAGE", m) && !m.IsDeleted).ToList(); return(pageModules); }
protected bool GetModulePermission(int PortalID, string FriendlyName) { bool AllowAccess = Null.NullBoolean; ModuleInfo objModule = ModuleController.Instance.GetModuleByDefinition(PortalID, FriendlyName); if (objModule != null) { AllowAccess = ModulePermissionController.CanViewModule(objModule); } return(AllowAccess); }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { ContainerControl.Visible = ModulePermissionController.CanEditModuleContent(ModuleConfiguration); } catch (Exception ex) { Exceptions.ProcessModuleLoadException(this, ex); } }
public List <ModuleInfo> GetDeletedModules(out int totalRecords, int pageIndex = -1, int pageSize = -1) { var deletedModules = this._moduleController.GetModules(PortalSettings.PortalId) .Cast <ModuleInfo>() .Where(module => module.IsDeleted && ( TabPermissionController.CanAddContentToPage(TabController.Instance.GetTab(module.TabID, module.PortalID)) || ModulePermissionController.CanDeleteModule(module))); totalRecords = deletedModules.Count(); return(pageIndex == -1 || pageSize == -1 ? deletedModules.ToList() : deletedModules.Skip(pageIndex * pageSize).Take(pageSize).ToList()); }
public static bool HasAllUsersViewPermissions(this OpenContentModuleConfig module) { bool blnHasModuleViewPermissions = false; if (module.ViewModule != null) { //DNN already checks SuperUser and Administrator blnHasModuleViewPermissions = ModulePermissionController.HasModuleAccess(AppDefinitions.SecurityAccessLevel.View.ToDnnSecurityAccessLevel(), "CONTENT", DnnUtils.GetDnnModule(module.ViewModule)); } return(blnHasModuleViewPermissions); }
public static bool HasEditRights(this ModuleInfo activeModule) { bool blnHasModuleEditPermissions = false; if (activeModule != null) { //DNN already checks SuperUser and Administrator blnHasModuleEditPermissions = ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "CONTENT", activeModule); } return(blnHasModuleEditPermissions); }
public override string AccessRoles() { if (UserInfo.IsInRole("Administrators") || ModulePermissionController.CanEditModuleContent(ActiveModule)) { return("admin"); } else { return(""); } }
/// ----------------------------------------------------------------------------- /// <summary> /// Raises the PasswordQuestionAnswerUpdated Event /// </summary> /// <history> /// [cnurse] 03/09/2006 Created /// </history> /// ----------------------------------------------------------------------------- public void OnPasswordQuestionAnswerUpdated(PasswordUpdatedEventArgs e) { if ((IsUserOrAdmin == false) && (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration))) { return; } if (PasswordQuestionAnswerUpdated != null) { PasswordQuestionAnswerUpdated(this, e); } }
/// <summary> /// 验证作者状态(不是作者跳转到登陆页面) /// </summary> public void VerificationAuthor() { //没有登陆的用户 if (!(UserId > 0)) { Response.Redirect(Globals.NavigateURL(PortalSettings.LoginTabId, "Login", "returnurl=" + HttpUtility.UrlEncode(HttpContext.Current.Request.RawUrl)), true); } else if (!ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "CONTENT", ModuleConfiguration)) { Response.Redirect(Globals.NavigateURL(TabId), true); } }
/// <summary> /// 绑定模块 /// </summary> private void BindModules() { DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("Playngo.ClientZone", PortalId); if ((objDesktopModuleInfo != null)) { TabController objTabController = new TabController(); ArrayList objTabs = objTabController.GetTabsByPortal(PortalId).ToArrayList(); foreach (DotNetNuke.Entities.Tabs.TabInfo objTab in objTabs) { if ((objTab != null)) { if ((objTab.IsDeleted == false)) { ModuleController objModules = new ModuleController(); foreach (KeyValuePair <int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID)) { ModuleInfo objModule = pair.Value; if ((objModule.IsDeleted == false)) { if ((objModule.DesktopModuleID == objDesktopModuleInfo.DesktopModuleID)) { if (ModulePermissionController.CanEditModuleContent(objModule) & objModule.IsDeleted == false) { string strPath = objTab.TabName; TabInfo objTabSelected = objTab; while (objTabSelected.ParentId != Null.NullInteger) { objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false); if ((objTabSelected == null)) { break; // TODO: might not be correct. Was : Exit While } strPath = objTabSelected.TabName + " -> " + strPath; } ListItem objListItem = new ListItem(); objListItem.Value = objModule.TabID.ToString() + "-" + objModule.ModuleID.ToString(); objListItem.Text = strPath + " -> " + objModule.ModuleTitle; ddlModule.Items.Add(objListItem); } } } } } } } WebHelper.SelectedListByValue(ddlModule, String.Format("{0}-{1}", Settings_TabID, Settings_ModuleID)); } }
private bool canEditNote(Icatt_Geeltjes_Geeltje geeltje, int moduleId) { if (geeltje.CreatedByUserId == _currentUser.UserID) { return(true); } var mc = new ModuleController(); var modInfo = mc.GetModule(moduleId); return(ModulePermissionController.CanEditModuleContent(modInfo)); }
private bool IsValidUser() { int moduleId = Null.NullInteger; bool result = User.Identity.IsAuthenticated && int.TryParse(Request.QueryString["ModuleId"], out moduleId); if (result) { var module = new ModuleController().GetModule(moduleId); result = module != null && ModulePermissionController.CanEditModuleContent(module); } return(result); }
/// <summary> /// 绑定模块列表 /// </summary> private void BindModuleList() { DesktopModuleInfo objDesktopModuleInfo = DesktopModuleController.GetDesktopModuleByModuleName("DNNGo.LayerGallery", PortalId); ddlTabModule.Items.Clear(); if ((objDesktopModuleInfo != null)) { int aPortalId = Convert.ToInt32(ddlPortals.Items[ddlPortals.SelectedIndex].Value); TabController objTabController = new TabController(); ArrayList objTabs = objTabController.GetTabsByPortal(aPortalId).ToArrayList(); foreach (DotNetNuke.Entities.Tabs.TabInfo objTab in objTabs) { if ((objTab != null)) { if ((objTab.IsDeleted == false)) { ModuleController objModules = new ModuleController(); foreach (KeyValuePair <int, ModuleInfo> pair in objModules.GetTabModules(objTab.TabID)) { ModuleInfo objModule = pair.Value; if ((objModule.IsDeleted == false)) { if ((objModule.DesktopModuleID == objDesktopModuleInfo.DesktopModuleID)) { if (ModulePermissionController.CanEditModuleContent(objModule) & objModule.IsDeleted == false) { string strPath = objTab.TabName; TabInfo objTabSelected = objTab; while (objTabSelected.ParentId != Null.NullInteger) { objTabSelected = objTabController.GetTab(objTabSelected.ParentId, objTab.PortalID, false); if ((objTabSelected == null)) { break; // TODO: might not be correct. Was : Exit While } strPath = objTabSelected.TabName + " -> " + strPath; } ListItem objListItem = new ListItem(); objListItem.Value = objModule.TabID.ToString() + "-" + objModule.ModuleID.ToString(); objListItem.Text = strPath + " -> " + objModule.ModuleTitle; ddlTabModule.Items.Add(objListItem); } } } } } } } } }
/// ----------------------------------------------------------------------------- /// <summary> /// Raises the MembershipPromoteToSuperuser Event /// </summary> /// ----------------------------------------------------------------------------- public void OnMembershipDemoteFromSuperuser(EventArgs e) { if ((IsUserOrAdmin == false) && (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration))) { return; } if (MembershipDemoteFromSuperuser != null) { MembershipDemoteFromSuperuser(this, e); Response.Redirect(Globals.NavigateURL(), true); } }
private bool HasPermission(int moduleId) { var moduleInfo = new ModuleController().GetModule(moduleId); bool hasPermissions = false; if (moduleInfo != null) { hasPermissions = ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "EDIT", moduleInfo); } return(hasPermissions); }
public List <ModuleInfo> GetDeletedModules() { var deletedModules = _moduleController.GetModules(PortalSettings.PortalId) .Cast <ModuleInfo>() .Where(module => module.IsDeleted && ( TabPermissionController.CanAddContentToPage(TabController.Instance.GetTab(module.TabID, module.PortalID)) || ModulePermissionController.CanDeleteModule(module)) ) .ToList(); return(deletedModules); }
protected override void OnInit(EventArgs e) { base.OnInit(e); if (Request.QueryString["moduleid"] != null) { Int32.TryParse(Request.QueryString["moduleid"], out ModuleId); } if (!ModulePermissionController.HasModuleAccess(SecurityAccessLevel.Edit, "EXPORT", Module)) { Response.Redirect(Globals.AccessDeniedURL(), true); } }
protected override void OnLoad() { base.OnLoad(); View.Model.CanEdit = ModulePermissionController.HasModulePermission(ModuleContext.Configuration.ModulePermissions, "EDIT"); View.Model.NewVocabUrl = (ModuleContext != null) ? ModuleContext.NavigateUrl(TabId, "CreateVocabulary", false, "mid=" + ModuleId) : Globals.NavigateURL(TabId, "CreateVocabulary", "mid=" + ModuleId); View.ShowAddButton(View.Model.CanEdit); View.GridsNeedDataSource += GridNeedDataSource; View.GridsItemDataBound += GridItemDataBound; View.Refresh(); }
protected void Page_Load(object sender, EventArgs e) { Literal lit = new Literal(); IActionable actionable = ModuleControl as IActionable; if (actionable != null) { string JsonAction = ""; JsonAction = "["; foreach (ModuleAction action in actionable.ModuleActions) { if (ModulePermissionController.HasModuleAccess(action.Secure, "CONTENT", ModuleConfiguration)) { string url = string.Empty; if (!string.IsNullOrEmpty(action.Url) && action.Url.Length > 0) { var splitarray = action.Url.Split('#'); url = splitarray[0]; if (url.Contains("?")) { url += "&skinsrc=" + "[g]skins/vanjaro/base"; } else { url += "?skinsrc=" + "[g]skins/vanjaro/base"; } if (splitarray.Length > 1) { url += "#" + splitarray[1]; } } JsonAction += "{\"Title\":\"" + action.Title + "\", \"Icon\":\"" + action.Icon + "\",\"Url\":\"" + url + "\",\"NewWindow\":\"" + action.NewWindow + "\",\"ModuleId\":\"" + ModuleConfiguration.ModuleID + "\"},"; } } JsonAction = JsonAction.TrimEnd(','); JsonAction += "]"; if (JsonAction != "[]") { lit.Text = "<script type=\"text/javascript\" data-actionmid=\"" + ModuleConfiguration.ModuleID + "\">" + JsonAction + "</script>"; } } if (HasSettings(Page, ModuleConfiguration)) { lit.Text += "<script type=\"text/javascript\" data-settingsmid=\"" + ModuleConfiguration.ModuleID + "\"></script>"; } Page.Header.Controls.Add(lit); }
private void cmdReset_Click(object sender, EventArgs e) { if (!ModulePermissionController.CanAdminModule(this.ModuleConfiguration) && IsUserOrAdmin == false) { return; } string answer = ""; if (MembershipProviderConfig.RequiresQuestionAndAnswer && !IsAdmin) { if (String.IsNullOrEmpty(txtAnswer.Text)) { OnPasswordUpdated(new PasswordUpdatedEventArgs(PasswordUpdateStatus.InvalidPasswordAnswer)); return; } answer = txtAnswer.Text; } try { //create resettoken UserController.ResetPasswordToken(User, Entities.Host.Host.AdminMembershipResetLinkValidity); bool canSend = Mail.SendMail(User, MessageType.PasswordReminder, PortalSettings) == string.Empty; var message = String.Empty; var moduleMessageType = ModuleMessage.ModuleMessageType.GreenSuccess; if (canSend) { message = Localization.GetString("PasswordSent", LocalResourceFile); LogSuccess(); } else { message = Localization.GetString("OptionUnavailable", LocalResourceFile); moduleMessageType = ModuleMessage.ModuleMessageType.RedError; LogFailure(message); } UI.Skins.Skin.AddModuleMessage(this, message, moduleMessageType); } catch (ArgumentException exc) { Logger.Error(exc); OnPasswordUpdated(new PasswordUpdatedEventArgs(PasswordUpdateStatus.InvalidPasswordAnswer)); } catch (Exception exc) { Logger.Error(exc); OnPasswordUpdated(new PasswordUpdatedEventArgs(PasswordUpdateStatus.PasswordResetFailed)); } }
/// <summary> /// Gets the ModulePermissions from the Data Store /// </summary> private void GetModulePermissions() { ModulePermissionController objModulePermissionController = new ModulePermissionController(); ModulePermissions = objModulePermissionController.GetModulePermissionsCollectionByModuleID( ModuleID, TabId ); }