public IHttpActionResult SaveMembers(UIAccounts groupAccounts) { string mRetVal = "false"; Logger mLog = Logger.Instance(); MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditGroups", true)), AccountUtility.CurrentProfile()); if (!mSecurityInfo.MayEdit) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } if (HttpContext.Current.Items["EditId"] == null || HttpContext.Current.Items["EditId"].ToString().ToLowerInvariant() != groupAccounts.SeqId.ToString().ToLowerInvariant()) { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } MAccountProfile accountProfile = AccountUtility.CurrentProfile(); MClientChoicesState mClientChoicesState = ClientChoicesUtility.GetClientChoicesState(accountProfile.Account); MGroupRoles mProfile = new MGroupRoles(); mProfile.SecurityEntityId = SecurityEntityUtility.CurrentProfile().Id; mProfile.GroupSeqId = groupAccounts.SeqId; mProfile.Roles = String.Join(",", groupAccounts.Accounts); mProfile.AddedUpdatedBy = accountProfile.Id; GroupUtility.UpdateGroupRoles(mProfile); return(Ok(mRetVal)); }
protected void Page_Init(object sender, EventArgs e) { string mAction = GWWebHelper.GetQueryValue(Request, "action"); if (!String.IsNullOrEmpty(mAction)) { m_SecurityInfo = new MSecurityInfo(FunctionUtility.CurrentProfile(), AccountUtility.CurrentProfile()); } }
/// <summary> /// Page_s the init. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void Page_Init(Object sender, EventArgs e) { m_SecurityInfo = new MSecurityInfo(FunctionUtility.CurrentProfile(), AccountUtility.CurrentProfile()); m_ShowDeleteLink = m_SecurityInfo.MayDelete; if (!m_SecurityInfo.MayView) { this.searchResults.Columns.RemoveAt(0); } }
public static string Decrypt(string textValue) { string mRetVal = "Not Authorized"; MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_Encryption_Helper", true)), AccountUtility.CurrentProfile()); if (mSecurityInfo.MayView) { mRetVal = CryptoUtility.Decrypt(textValue.Trim(), SecurityEntityUtility.CurrentProfile().EncryptionType, ConfigSettings.EncryptionSaltExpression); } return(mRetVal); }
protected void Page_Load(object sender, EventArgs e) { string mAction = GWWebHelper.GetQueryValue(Request, "action"); if (!String.IsNullOrEmpty(mAction)) { MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); MSecurityInfo mSecurityInfo = new MSecurityInfo(mFunctionProfile, AccountUtility.CurrentProfile()); SearchControl.ShowAddLink = mSecurityInfo.MayAdd; } }
public IHttpActionResult Delete([FromUri] int functionSeqID) { if (functionSeqID <= 0) { throw new ArgumentNullException("functionSeqID", " must be a positive number!"); } string mRetVal = "False"; Logger mLog = Logger.Instance(); if (HttpContext.Current.Items["EditId"] != null) { int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); if (mEditId == functionSeqID) { MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditFunction", true)), AccountUtility.CurrentProfile()); if (mSecurityInfo != null) { if (mSecurityInfo.MayDelete) { try { FunctionUtility.Delete(functionSeqID); mRetVal = "True"; } catch (Exception ex) { mLog.Error(ex); throw; } } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to delete"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("Security Info is not in context nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } return(Ok(mRetVal)); }
/// <summary> /// Page_s the init. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void Page_Init(Object sender, EventArgs e) { string mAction = GWWebHelper.GetQueryValue(Request, "action"); if (!String.IsNullOrEmpty(mAction)) { MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(mAction), AccountUtility.CurrentProfile()); if (!mSecurityInfo.MayDelete) { this.searchResults.Columns.RemoveAt(1); } } }
public IHttpActionResult Save(MUIRoleProfile profile) { if (profile == null) { throw new ArgumentNullException("uiProfile", "uiProfile cannot be a null reference (Nothing in Visual Basic)!"); } string mRetVal = "false"; MRoleProfile mProfileToSave = new MRoleProfile(); MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditRoles", true)), AccountUtility.CurrentProfile()); Logger mLog = Logger.Instance(); if (HttpContext.Current.Items["EditId"] != null) { if (profile.Id == -1) { if (!mSecurityInfo.MayAdd) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } mProfileToSave.AddedBy = AccountUtility.CurrentProfile().Id; mProfileToSave.AddedDate = DateTime.Now; } else { if (!mSecurityInfo.MayAdd) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to edit"); mLog.Error(mError); return(this.InternalServerError(mError)); } if (profile.IsSystem) { mProfileToSave.IsSystem = true; } if (profile.IsSystemOnly) { mProfileToSave.IsSystemOnly = true; } mProfileToSave = RoleUtility.GetProfile(profile.Id); mProfileToSave.UpdatedBy = AccountUtility.CurrentProfile().Id; mProfileToSave.UpdatedDate = DateTime.Now; } } mProfileToSave = populateProfile(profile); RoleUtility.Save(mProfileToSave); return(Ok(mRetVal)); }
protected void Page_Init(Object sender, EventArgs e) { string mAction = "Search_Functions"; if (!String.IsNullOrEmpty(mAction)) { MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); m_SecurityInfo = new MSecurityInfo(mFunctionProfile, AccountUtility.CurrentProfile()); if (!m_SecurityInfo.MayEdit) { searchResults.Columns.RemoveAt(0); } m_ShowDeleteLink = m_SecurityInfo.MayDelete; } }
protected void Page_Load(object sender, EventArgs e) { MRoleProfile myProfile = new MRoleProfile(); MSecurityInfo accountSecurityInfo = new MSecurityInfo(FunctionUtility.CurrentProfile(), AccountUtility.CurrentProfile()); txtEditID.Text = Request.QueryString[GWWebHelper.RoleDataKeyField].ToString(); //HttpContext.Current.Session.Remove(AppConstants.ROLE_DATA_KEY_FIELD); myProfile.Id = int.Parse(txtEditID.Text); HttpContext.Current.Session.Add("EditId", myProfile.Id); myProfile = RoleUtility.GetProfile(myProfile.Id); litRole.Text = myProfile.Name; myProfile.SecurityEntityId = int.Parse(ClientChoicesState[MClientChoices.SecurityEntityId].ToString()); ctlMembers.DataSource = RoleUtility.GetAccountsNotInRole(myProfile).ToArray(Type.GetType("System.String")); ctlMembers.SelectedItems = (string[])RoleUtility.GetAccountsInRole(myProfile).ToArray(Type.GetType("System.String")); ctlMembers.DataBind(); }
protected void Page_Load(object sender, EventArgs e) { SearchControl.ShowAddLink = false; MDirectoryProfile mDirectoryProfile = DirectoryUtility.GetProfile(FunctionUtility.CurrentProfile().Id); String mLinks = FileUtility.GetDirectoryLinks("/", mDirectoryProfile.FunctionSeqId); directorySelector.InnerHtml = mLinks; MFunctionProfile mFunctionProfile = FunctionUtility.CurrentProfile(); MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); MSecurityInfo mSI = new MSecurityInfo(mFunctionProfile, mAccountProfile); UploadControl.Visible = mSI.MayAdd; tdNewDirectory.Visible = mSI.MayAdd; SearchControl.ShowDeleteAll = mSI.MayDelete; SearchControl.ShowSelect = mSI.MayDelete; }
protected void Page_Load(object sender, EventArgs e) { String mAction = ClientChoicesState[MClientChoices.Action]; MFunctionProfile mFunctionProfile = FunctionUtility.GetProfile(mAction); MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); MSecurityInfo mSecurityInfo = new MSecurityInfo(mFunctionProfile, mAccountProfile); if (mSecurityInfo.MayView) { String mScript = "<script type='text/javascript' language='javascript'>window.location.hash = '?Action=" + mAction + "'</script>"; Page.ClientScript.RegisterStartupScript(this.GetType(), "", mScript); } else { Response.Write("Your favorite is not available. Please ensure that you have chosen the correct " + ConfigSettings.SecurityEntityTranslation); } }
public IHttpActionResult DeleteNameValuePairDetail(UINVPDetailProfile uiProfile) { string mRetVal = false.ToString(); String mAction = GWWebHelper.GetQueryValue(HttpContext.Current.Request, "Action"); int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); MAccountProfile mUpdatingAccount = AccountUtility.CurrentProfile(); MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(mAction), mUpdatingAccount); Logger mLog = Logger.Instance(); if (mEditId != uiProfile.NVP_SEQ_DET_ID) { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } if (!mSecurityInfo.MayDelete) { Exception mError = new Exception("The account (" + mUpdatingAccount.Account + ") being used does not have the correct permissions to delete"); mLog.Error(mError); return(this.InternalServerError(mError)); } try { MNameValuePairDetail mProfile = new MNameValuePairDetail(); mProfile.NameValuePairSeqId = uiProfile.NVP_SEQ_ID; mProfile.Id = uiProfile.NVP_SEQ_DET_ID; mProfile.UpdatedBy = mUpdatingAccount.Id; mProfile.UpdatedDate = DateTime.Now; mProfile.SortOrder = uiProfile.SortOrder; mProfile.Text = uiProfile.Text; mProfile.Value = uiProfile.Value; mProfile.Status = uiProfile.Status; NameValuePairUtility.DeleteDetail(mProfile); } catch (Exception ex) { mLog.Error(ex); throw; } return(this.Ok(mRetVal)); }
public IHttpActionResult Delete([FromUri] int groupSeqId) { string mRetVal = "false"; MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditGroups", true)), AccountUtility.CurrentProfile()); if (!mSecurityInfo.MayDelete) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to delete"); Logger mLog = Logger.Instance(); mLog.Error(mError); return(this.InternalServerError(mError)); } else { if (HttpContext.Current.Items["EditId"] != null) { int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); if (mEditId == groupSeqId) { MGroupProfile mProfile = GroupUtility.GetProfile(groupSeqId); GroupUtility.Delete(mProfile); } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); Logger mLog = Logger.Instance(); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("The identifier unknown and nothing has been saved!!!!"); Logger mLog = Logger.Instance(); mLog.Error(mError); return(this.InternalServerError(mError)); } } return(Ok(mRetVal)); }
private void populatePage() { populateGeneral(); populateRoles(); populateGroups(); if (String.IsNullOrEmpty(hdnCanSaveStatus.Value.ToString())) { hdnCanSaveStatus.Value = true.ToString(); } MSecurityInfo mGroupTabSecurity = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_View_Account_Group_Tab", true)), AccountUtility.CurrentProfile()); MSecurityInfo mRoleTabSecurity = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_View_Account_Role_Tab", true)), AccountUtility.CurrentProfile()); if (String.IsNullOrEmpty(hdnCanSaveRoles.Value.ToString())) { hdnCanSaveRoles.Value = mRoleTabSecurity.MayView.ToString(); tabsRoles.Visible = mRoleTabSecurity.MayView; rolesTab.Visible = mRoleTabSecurity.MayView; } else { hdnCanSaveRoles.Value = "False"; tabsRoles.Visible = false; rolesTab.Visible = false; } if (String.IsNullOrEmpty(hdnCanSaveGroups.Value.ToString())) { hdnCanSaveGroups.Value = mGroupTabSecurity.MayView.ToString(); tabsGroups.Visible = mGroupTabSecurity.MayView; groupsTab.Visible = mGroupTabSecurity.MayView; } else { hdnCanSaveGroups.Value = "False"; tabsGroups.Visible = false; groupsTab.Visible = false; } trSysAdmin.Visible = AccountUtility.CurrentProfile().IsSystemAdmin; }
/// <summary> /// Handles the Load event of the Page control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void Page_Load(object sender, EventArgs e) { m_SecurityInfo = new MSecurityInfo(FunctionUtility.CurrentProfile(), AccountUtility.CurrentProfile()); noResults.Visible = false; searchResults.HeaderStyle.ForeColor = ColorTranslator.FromHtml(ClientChoicesState[MClientChoices.HeaderForeColor]); searchResults.HeaderStyle.BackColor = ColorTranslator.FromHtml(ClientChoicesState[MClientChoices.HeadColor]); searchResults.AlternatingRowStyle.BackColor = ColorTranslator.FromHtml(ClientChoicesState[MClientChoices.AlternatingRowBackColor]); searchResults.RowStyle.BackColor = ColorTranslator.FromHtml(ClientChoicesState[MClientChoices.RowBackColor]); if (!String.IsNullOrEmpty(GWWebHelper.GetQueryValue(Request, "Columns"))) { MSearchCriteria mSearchCriteria = new MSearchCriteria(); mSearchCriteria.Columns = GWWebHelper.GetQueryValue(Request, "Columns"); mSearchCriteria.OrderByColumn = Server.UrlDecode(GWWebHelper.GetQueryValue(Request, "OrderByColumn")); mSearchCriteria.OrderByDirection = GWWebHelper.GetQueryValue(Request, "OrderByDirection"); int mTryParse = 0; if (int.TryParse(GWWebHelper.GetQueryValue(Request, "PageSize"), out mTryParse)) { mSearchCriteria.PageSize = int.Parse(GWWebHelper.GetQueryValue(Request, "PageSize")); } else { mSearchCriteria.PageSize = 10; } if (int.TryParse(GWWebHelper.GetQueryValue(Request, "SelectedPage"), out mTryParse)) { mSearchCriteria.SelectedPage = int.Parse(GWWebHelper.GetQueryValue(Request, "SelectedPage")); } else { mSearchCriteria.SelectedPage = 1; } mSearchCriteria.WhereClause = Server.UrlDecode(GWWebHelper.GetQueryValue(Request, "WhereClause")); mSearchCriteria.WhereClause = mSearchCriteria.WhereClause.Replace("\"", String.Empty); bindData(mSearchCriteria); } }
public IHttpActionResult SaveMembers(UIAccounts roleAccounts) { string mRetVal = "false"; Logger mLog = Logger.Instance(); MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditRoles", true)), AccountUtility.CurrentProfile()); if (!mSecurityInfo.MayEdit) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } if (HttpContext.Current.Items["EditId"] == null) { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } MAccountProfile accountProfile = AccountUtility.CurrentProfile(); MClientChoicesState mClientChoicesState = ClientChoicesUtility.GetClientChoicesState(accountProfile.Account); bool success = RoleUtility.UpdateAllAccountsForRole(roleAccounts.SeqId, int.Parse(mClientChoicesState[MClientChoices.SecurityEntityId]), roleAccounts.Accounts, accountProfile.Id); return(Ok(mRetVal)); }
/// <summary> /// Ons the state of the acquire request. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> private void onAcquireRequestState(object sender, EventArgs e) { Logger mLog = Logger.Instance(); string mAccountName = AccountUtility.HttpContextUserName(); mLog.Debug("Started"); mLog.Debug("CurrentExecutionFilePath " + HttpContext.Current.Request.CurrentExecutionFilePath); mLog.Debug("HttpContextUserName: "******"ANONYMOUS") { string mMessage = "Could not find account '" + mAccountName + "'"; mLog.Info(mMessage); if (ConfigSettings.AutoCreateAccount) { mMessage = "Creating new account for '" + mAccountName + "'"; mLog.Info(mMessage); AccountUtility.AutoCreateAccount(); } } if (mAccountName.ToUpper(CultureInfo.InvariantCulture) != "ANONYMOUS" & (mAccountProfile.LastLogOn.ToShortDateString() != DateTime.Now.ToShortDateString())) { mAccountProfile.LastLogOn = DateTime.Now; AccountUtility.Save(mAccountProfile, false, false); } if (HttpContext.Current.Session == null) { mLog.Debug("No Session!"); mLog.Debug("Ended"); return; } if (!processRequest()) { mLog.Debug("Request not for processing!"); mLog.Debug("Ended"); return; } if ((HttpContext.Current.Session["EditId"] != null)) { HttpContext.Current.Items["EditId"] = HttpContext.Current.Session["EditId"]; } MClientChoicesState mClientChoicesState = ClientChoicesUtility.GetClientChoicesState(mAccountName); HttpContext.Current.Items[MClientChoices.SessionName] = mClientChoicesState; string mAction = GWWebHelper.GetQueryValue(HttpContext.Current.Request, "Action"); if (string.IsNullOrEmpty(mAction)) { mLog.Debug("No Action!"); mLog.Debug("Ended"); return; } MFunctionProfile mFunctionProfile = FunctionUtility.CurrentProfile(); if (mFunctionProfile == null) { mFunctionProfile = FunctionUtility.GetProfile(mAction); } if (!mFunctionProfile.Source.ToUpper(CultureInfo.InvariantCulture).Contains("MENUS") && !(mAction.ToUpper(CultureInfo.InvariantCulture) == "LOGOFF" | mAction.ToUpper(CultureInfo.InvariantCulture) == "LOGON" | mAction.ToUpper(CultureInfo.InvariantCulture) == "CHANGEPASSWORD")) { FunctionUtility.SetCurrentProfile(mFunctionProfile); dynamic mSecurityInfo = new MSecurityInfo(mFunctionProfile, mAccountProfile); HttpContext.Current.Items["SecurityInfo"] = mSecurityInfo; switch (mAccountProfile.Status) { case (int)SystemStatus.ChangePassword: mException = new WebSupportException("Your password needs to be changed before any other action can be performed."); GWWebHelper.ExceptionError = mException; mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_ChangePassword", true)); string mChangePasswordPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mChangePasswordPage + "?Action=" + mFunctionProfile.Action); break; case (int)SystemStatus.SetAccountDetails: if (HttpContext.Current.Request.Path.ToUpper(CultureInfo.InvariantCulture).IndexOf("/API/", StringComparison.OrdinalIgnoreCase) == -1) { mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditAccount", true)); if (mAction.ToUpper(CultureInfo.InvariantCulture) != mFunctionProfile.Action.ToUpper(CultureInfo.InvariantCulture)) { mException = new WebSupportException("Your account details need to be set."); GWWebHelper.ExceptionError = mException; string mEditAccountPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mEditAccountPage + "?Action=" + mFunctionProfile.Action); } } break; default: string mPage = string.Empty; if (!mSecurityInfo.MayView) { if (mAccountProfile.Account.ToUpper(CultureInfo.InvariantCulture) == "ANONYMOUS") { mException = new WebSupportException("Your session has timed out.<br/>Please sign in."); GWWebHelper.ExceptionError = mException; mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_Logon", true)); mPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mPage + "?Action=" + mFunctionProfile.Action); } mFunctionProfile = FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_AccessDenied", true)); mLog.Warn("Access was denied to Account: " + mAccountProfile.Account + " for Action: " + mFunctionProfile.Action); mPage = GWWebHelper.RootSite + ConfigSettings.AppName + mFunctionProfile.Source; HttpContext.Current.Response.Redirect(mPage + "?Action=" + mFunctionProfile.Action); } break; } } else { mLog.Debug("Menu data or Logoff/Logon or ChangePassword requested"); } //processOverridePage(mFunctionProfile); }
public IHttpActionResult SaveNameValuePair(UINVPProfile uiProfile) { string mRetVal = false.ToString(); MNameValuePair mProfile = new MNameValuePair(); String mAction = GWWebHelper.GetQueryValue(HttpContext.Current.Request, "Action"); int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); Logger mLog = Logger.Instance(); if (mEditId != uiProfile.NVP_SEQ_ID) { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } MAccountProfile mUpdatingAccount = AccountUtility.CurrentProfile(); MSecurityEntityProfile mSecurityEntityProfile = SecurityEntityUtility.CurrentProfile(); MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(mAction), mUpdatingAccount); String mGroups = String.Join(",", uiProfile.Groups); String mRoles = String.Join(",", uiProfile.Roles); String mCommaSepRoles = mUpdatingAccount.GetCommaSeparatedAssignedRoles; if (uiProfile.NVP_SEQ_ID != -1) { if (!mSecurityInfo.MayAdd) { Exception mError = new Exception("The account (" + mUpdatingAccount.Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { if (!mSecurityInfo.MayAdd) { Exception mError = new Exception("The account (" + mUpdatingAccount.Account + ") being used does not have the correct permissions to edit"); mLog.Error(mError); return(this.InternalServerError(mError)); } } if (uiProfile.NVP_SEQ_ID != -1) { mProfile = NameValuePairUtility.GetNameValuePair(uiProfile.NVP_SEQ_ID); } else { mProfile.AddedBy = mUpdatingAccount.Id; mProfile.AddedDate = DateTime.Today; } mProfile.UpdatedBy = mUpdatingAccount.Id; mProfile.UpdatedDate = DateTime.Today; mProfile.StaticName = uiProfile.STATIC_NAME; mProfile.SchemaName = uiProfile.SchemaName; mProfile.Display = uiProfile.Display; mProfile.Description = uiProfile.Description; mProfile.Status = uiProfile.Status; int mID = NameValuePairUtility.Save(mProfile); int mSecurityId = mSecurityEntityProfile.Id; NameValuePairUtility.UpdateRoles(mID, mSecurityId, mRoles, mProfile); NameValuePairUtility.UpdateGroups(mID, mSecurityId, mGroups, mProfile); return(this.Ok(mRetVal)); }
/// <summary> /// Page_s the init. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> protected void Page_Init(Object sender, EventArgs e) { m_SecurityInfo = new MSecurityInfo(FunctionUtility.CurrentProfile(), AccountUtility.CurrentProfile()); }
public IHttpActionResult Save(UIFunctionProfile uiProfile) { if (uiProfile == null) { throw new ArgumentNullException("uiProfile", "uiProfile cannot be a null reference (Nothing in Visual Basic)!"); } string mRetVal = "false"; MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditFunction", true)), AccountUtility.CurrentProfile()); Logger mLog = Logger.Instance(); if (HttpContext.Current.Items["EditId"] != null) { int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); if (mEditId == uiProfile.Id) { MAccountProfile mAccountProfile = AccountUtility.CurrentProfile(); MFunctionProfile profile = new MFunctionProfile(); MDirectoryProfile directoryProfile = new MDirectoryProfile(); if (uiProfile.Id != -1) { if (!mSecurityInfo.MayEdit) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to edit"); mLog.Error(mError); return(this.InternalServerError(mError)); } profile = FunctionUtility.GetProfile(uiProfile.Id); profile.UpdatedBy = mAccountProfile.Id; profile.UpdatedDate = DateTime.Now; } else { if (!mSecurityInfo.MayAdd) { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } profile.AddedBy = mAccountProfile.Id; profile.AddedDate = DateTime.Now; } string viewCommaRoles = String.Join(",", uiProfile.RolesAndGroups.ViewRoles); string addCommaRoles = String.Join(",", uiProfile.RolesAndGroups.AddRoles); string editCommaRoles = String.Join(",", uiProfile.RolesAndGroups.EditRoles); string deleteCommaRoles = String.Join(",", uiProfile.RolesAndGroups.DeleteRoles); string viewCommaGroups = String.Join(",", uiProfile.RolesAndGroups.ViewGroups); string addCommaGroups = String.Join(",", uiProfile.RolesAndGroups.AddGroups); string editCommaGroups = String.Join(",", uiProfile.RolesAndGroups.EditGroups); string deleteCommaGroups = String.Join(",", uiProfile.RolesAndGroups.DeleteGroups); bool saveGroups = false; bool saveRoles = false; if (profile.GetCommaSeparatedAssignedRoles(PermissionType.View) != viewCommaRoles) { profile.SetAssignedRoles(viewCommaRoles, PermissionType.View); saveRoles = true; } if (profile.GetCommaSeparatedAssignedRoles(PermissionType.Add) != addCommaRoles) { profile.SetAssignedRoles(addCommaRoles, PermissionType.Add); saveRoles = true; } if (profile.GetCommaSeparatedAssignedRoles(PermissionType.Edit) != editCommaRoles) { profile.SetAssignedRoles(editCommaRoles, PermissionType.Edit); saveRoles = true; } if (profile.GetCommaSeparatedAssignedRoles(PermissionType.Delete) != deleteCommaRoles) { profile.SetAssignedRoles(deleteCommaRoles, PermissionType.Delete); saveRoles = true; } if (profile.GetCommaSeparatedGroups(PermissionType.View) != viewCommaGroups) { profile.SetGroups(viewCommaGroups, PermissionType.View); saveGroups = true; } if (profile.GetCommaSeparatedGroups(PermissionType.Add) != addCommaGroups) { profile.SetGroups(addCommaGroups, PermissionType.Add); saveGroups = true; } if (profile.GetCommaSeparatedGroups(PermissionType.Edit) != editCommaGroups) { profile.SetGroups(editCommaGroups, PermissionType.Edit); saveGroups = true; } if (profile.GetCommaSeparatedGroups(PermissionType.Delete) != deleteCommaGroups) { profile.SetGroups(deleteCommaGroups, PermissionType.Delete); saveGroups = true; } profile.Action = uiProfile.Action; profile.EnableNotifications = uiProfile.EnableNotifications; profile.EnableViewState = uiProfile.EnableViewState; profile.FunctionTypeSeqId = uiProfile.FunctionTypeSeqID; profile.Id = uiProfile.Id; profile.IsNavigable = uiProfile.IsNav; profile.LinkBehavior = uiProfile.LinkBehavior; profile.MetaKeywords = uiProfile.MetaKeyWords; profile.Name = uiProfile.Name; profile.NavigationTypeSeqId = uiProfile.NavigationTypeSeqId; profile.Notes = uiProfile.Notes; profile.NoUI = uiProfile.NoUI; profile.ParentId = uiProfile.ParentID; profile.Source = uiProfile.Source; profile.Description = uiProfile.Description; profile.RedirectOnTimeout = uiProfile.RedirectOnTimeout; FunctionUtility.Save(profile, saveGroups, saveRoles); profile = FunctionUtility.GetProfile(uiProfile.Action); directoryProfile = DirectoryUtility.GetProfile(profile.Id); if (!String.IsNullOrEmpty(uiProfile.DirectoryData.Directory)) { if (directoryProfile == null) { directoryProfile = new MDirectoryProfile(); } directoryProfile.FunctionSeqId = profile.Id; directoryProfile.Directory = uiProfile.DirectoryData.Directory; directoryProfile.Impersonate = uiProfile.DirectoryData.Impersonate; directoryProfile.ImpersonateAccount = uiProfile.DirectoryData.ImpersonateAccount; directoryProfile.ImpersonatePassword = uiProfile.DirectoryData.ImpersonatePassword; directoryProfile.Name = uiProfile.DirectoryData.Directory; directoryProfile.UpdatedBy = mAccountProfile.Id; DirectoryUtility.Save(directoryProfile); } else { if (directoryProfile != null) { directoryProfile.Directory = ""; directoryProfile.Name = ""; DirectoryUtility.Save(directoryProfile); } } AccountUtility.RemoveInMemoryInformation(true); mRetVal = "true"; } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("Identifier could not be determined, nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } return(Ok(mRetVal)); }
public IHttpActionResult Save(UIMessageProfile profile) { if (profile == null) { throw new ArgumentNullException("profile", "uiProfile cannot be a null reference (Nothing in Visual Basic)!"); } string mRetVal = "False"; MAccountProfile mCurrentAccountProfile = AccountUtility.CurrentProfile(); Logger mLog = Logger.Instance(); MMessageProfile mProfileToSave = populateProfile(profile, mCurrentAccountProfile); if (HttpContext.Current.Items["EditId"] != null) { int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); if (mEditId == profile.Id) { MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditMessages", true)), AccountUtility.CurrentProfile()); if (mSecurityInfo != null) { if (mEditId != 1) { if (mSecurityInfo.MayEdit) { MessageUtility.Save(mProfileToSave); mLog.Debug("Saved message " + profile.Name + " by " + mCurrentAccountProfile.Account); mRetVal = "true"; } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to edit"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { if (mSecurityInfo.MayAdd) { MessageUtility.Save(mProfileToSave); mLog.Debug("Added message " + profile.Name + " by " + mCurrentAccountProfile.Account); mRetVal = "true"; } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } } } else { Exception mError = new Exception("Security Info is not in context nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } return(Ok(mRetVal)); }
public IHttpActionResult Save(UIAccountProfile uiProfile) { if (uiProfile == null) { throw new ArgumentNullException("uiProfile", "uiProfile cannot be a null reference (Nothing in Visual Basic)!"); } string mRetVal = "false"; bool mSaveGroups = false; bool mSaveRoles = false; MAccountProfile mCurrentAccountProfile = AccountUtility.CurrentProfile(); MAccountProfile mAccountProfileToSave = new MAccountProfile(); Logger mLog = Logger.Instance(); if (HttpContext.Current.Request.QueryString["Action"].ToString().ToUpper(CultureInfo.InvariantCulture).IndexOf("REGISTER") > -1) { MAccountProfile mExistingAccount = AccountUtility.GetProfile(uiProfile.Account); if (mExistingAccount == null) { mAccountProfileToSave = populateAccountProfile(uiProfile, mAccountProfileToSave); mAccountProfileToSave.Id = uiProfile.Id; string mGroups = ConfigSettings.RegistrationGroups; string mRoles = ConfigSettings.RegistrationRoles; if (!string.IsNullOrEmpty(mGroups)) { mSaveGroups = true; } if (!string.IsNullOrEmpty(mRoles)) { mSaveRoles = true; } mAccountProfileToSave.AddedBy = mCurrentAccountProfile.Id; mAccountProfileToSave.AddedDate = DateTime.Now; mAccountProfileToSave.SetGroups(mGroups); mAccountProfileToSave.SetRoles(mRoles); mAccountProfileToSave.PasswordLastSet = DateTime.Now; mAccountProfileToSave.LastLogOn = DateTime.Now; mAccountProfileToSave.Password = CryptoUtility.Encrypt(ConfigSettings.RegistrationPassword, ConfigSettings.EncryptionType); mAccountProfileToSave.Status = int.Parse(ConfigSettings.RegistrationStatusId); if (HttpContext.Current.Request.QueryString["Action"].ToString().ToUpper(CultureInfo.InvariantCulture).IndexOf("REGISTER") > -1) { mAccountProfileToSave.Status = (int)SystemStatus.Active; } MClientChoicesState mClientChoiceState = ClientChoicesUtility.GetClientChoicesState(ConfigSettings.RegistrationAccountChoicesAccount, true); MSecurityEntityProfile mSecurityEntityProfile = SecurityEntityUtility.GetProfile(ConfigSettings.RegistrationSecurityEntityId); string mCurrentSecurityEntityId = mClientChoiceState[MClientChoices.SecurityEntityId]; mClientChoiceState.IsDirty = false; mClientChoiceState[MClientChoices.AccountName] = mAccountProfileToSave.Account; mClientChoiceState[MClientChoices.SecurityEntityId] = mSecurityEntityProfile.Id.ToString(CultureInfo.InvariantCulture); mClientChoiceState[MClientChoices.SecurityEntityName] = mSecurityEntityProfile.Name; try { AccountUtility.Save(mAccountProfileToSave, mSaveRoles, mSaveGroups, mSecurityEntityProfile); ClientChoicesUtility.Save(mClientChoiceState, false); AccountUtility.SetPrincipal(mAccountProfileToSave); mRetVal = "Your account has been created"; } catch (Exception ex) { mLog.Error(ex); } } else { mRetVal = "The account '" + uiProfile.Account + "' already exists please choose a different account/email"; } } else { if ((HttpContext.Current.Items["EditId"] != null) | mCurrentAccountProfile.Status == (int)SystemStatus.SetAccountDetails) { int mEditId = 0; if ((HttpContext.Current.Items["EditId"] != null)) { mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); } else { mEditId = mCurrentAccountProfile.Id; } if (mEditId == uiProfile.Id) { MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.CurrentProfile(), AccountUtility.CurrentProfile()); if ((mSecurityInfo != null)) { if (mEditId != -1) { if (mCurrentAccountProfile.Id != uiProfile.Id) { mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditOtherAccount", true)), mCurrentAccountProfile); } if (mSecurityInfo.MayEdit | mCurrentAccountProfile.Status == (int)SystemStatus.SetAccountDetails) { MSecurityInfo mGroupTabSecurity = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_View_Account_Group_Tab", true)), mCurrentAccountProfile); MSecurityInfo mRoleTabSecurity = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_View_Account_Role_Tab", true)), mCurrentAccountProfile); mAccountProfileToSave = AccountUtility.GetProfile(mEditId); mAccountProfileToSave = populateAccountProfile(uiProfile, mAccountProfileToSave); mAccountProfileToSave.Id = uiProfile.Id; string mGroups = string.Join(",", uiProfile.AccountGroups.Groups); string mRoles = string.Join(",", uiProfile.AccountRoles.Roles); if (mGroupTabSecurity.MayView & FunctionUtility.CurrentProfile().Action.ToLowerInvariant() == ConfigSettings.GetAppSettingValue("Actions_EditOtherAccount", true).ToLower(CultureInfo.InvariantCulture)) { if (mAccountProfileToSave.GetCommaSeparatedAssignedGroups != mGroups) { mSaveGroups = true; mAccountProfileToSave.SetGroups(mGroups); } } if (mRoleTabSecurity.MayView & FunctionUtility.CurrentProfile().Action.ToLowerInvariant() == ConfigSettings.GetAppSettingValue("Actions_EditOtherAccount", true).ToLower(CultureInfo.InvariantCulture)) { if (mAccountProfileToSave.GetCommaSeparatedAssignedRoles != mRoles) { mSaveRoles = true; mAccountProfileToSave.SetRoles(mRoles); } } mAccountProfileToSave.AddedBy = mCurrentAccountProfile.Id; mAccountProfileToSave.AddedDate = DateTime.Now; AccountUtility.Save(mAccountProfileToSave, mSaveRoles, mSaveGroups); mLog.Debug("Saved account " + mAccountProfileToSave.Account + " by " + mCurrentAccountProfile.Account); mRetVal = "true"; } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to edit"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { if (mSecurityInfo.MayAdd) { mSaveGroups = true; mSaveRoles = true; mAccountProfileToSave = populateAccountProfile(uiProfile, mAccountProfileToSave); mAccountProfileToSave.Id = -1; mAccountProfileToSave.AddedBy = mCurrentAccountProfile.Id; mAccountProfileToSave.AddedDate = DateTime.Now; mAccountProfileToSave.AddedBy = mCurrentAccountProfile.Id; mAccountProfileToSave.AddedDate = DateTime.Now; mAccountProfileToSave.PasswordLastSet = DateTime.Now; mAccountProfileToSave.LastLogOn = DateTime.Now; mAccountProfileToSave.Password = CryptoUtility.Encrypt(ConfigSettings.RegistrationPassword, ConfigSettings.EncryptionType); mAccountProfileToSave.Status = ConfigSettings.AutoCreateAccountStatusId; string mGroups = string.Join(",", uiProfile.AccountGroups.Groups); string mRoles = string.Join(",", uiProfile.AccountRoles.Roles); mAccountProfileToSave.SetGroups(mGroups); mAccountProfileToSave.SetRoles(mRoles); try { AccountUtility.Save(mAccountProfileToSave, mSaveRoles, mSaveGroups); } catch (Exception ex) { mLog.Error(ex); } mLog.Debug("Added account " + mAccountProfileToSave.Account + " by " + mCurrentAccountProfile.Account); mRetVal = "true"; } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } } } else { Exception mError = new Exception("Security Info is not in context nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } } return(Ok(mRetVal)); }
public IHttpActionResult Save(MUISecurityEntityProfile uiProfile) { if (uiProfile == null) { new ArgumentNullException("uiProfile", "uiProfile cannot be a null reference (Nothing in Visual Basic)!"); } bool mRetVal = false; Logger mLog = Logger.Instance(); var session = SessionStateUtility.GetHttpSessionStateFromContext(HttpContext.Current); MSecurityInfo mSecurityInfo = new MSecurityInfo(FunctionUtility.GetProfile(ConfigSettings.GetAppSettingValue("Actions_EditSecurityEntity", true)), AccountUtility.CurrentProfile()); if (mSecurityInfo != null) { if (HttpContext.Current.Session["EditId"] != null) { int mEditId = int.Parse(HttpContext.Current.Items["EditId"].ToString()); if (mEditId == int.Parse(uiProfile.Id)) { if (mEditId != -1) { if (mSecurityInfo.MayEdit) { MSecurityEntityProfile mSecurityEntityProfile = SecurityEntityUtility.GetProfile(mEditId); mSecurityEntityProfile = populateSecurityEntity(uiProfile); mSecurityEntityProfile.Id = int.Parse(uiProfile.Id); SecurityEntityUtility.Save(mSecurityEntityProfile); mRetVal = true; } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } } else { if (mSecurityInfo.MayAdd) { MSecurityEntityProfile mSecurityEntityProfile = populateSecurityEntity(uiProfile); mSecurityEntityProfile.Id = -1; mSecurityEntityProfile.AddedBy = AccountUtility.CurrentProfile().Id; mSecurityEntityProfile.AddedDate = DateTime.Now; mSecurityEntityProfile.UpdatedBy = mSecurityEntityProfile.AddedBy; mSecurityEntityProfile.UpdatedDate = mSecurityEntityProfile.AddedDate; SecurityEntityUtility.Save(mSecurityEntityProfile); mRetVal = true; } else { Exception mError = new Exception("The account (" + AccountUtility.CurrentProfile().Account + ") being used does not have the correct permissions to add"); mLog.Error(mError); return(this.InternalServerError(mError)); } } } else { Exception mError = new Exception("Identifier you have last looked at does not match the one passed in nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } } } else { Exception mError = new Exception("Security Info is not in context nothing has been saved!!!!"); mLog.Error(mError); return(this.InternalServerError(mError)); } return(this.Ok(mRetVal)); }