public UserPreferenceController() { if (System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] != null) { currentUser = System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] as UIUserLogin; } }
public EligibilityQueuesController() { if (System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] != null) { currentUser = System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] as UIUserLogin; } }
public RecordsLockedController() { if (System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] != null) { currentUser = System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] as UIUserLogin; } }
public ConfigurationsController() { if (System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] != null) { currentUser = System.Web.HttpContext.Current.Session[ConstantTexts.CurrentUserSessionKey] as UIUserLogin; } else { currentUser = new UIUserLogin(); } }
public ExceptionTypes GetUserAccessPermission(string MSID, long?businessSegmentLkup, long?workBasketLkup, long?roleLkup, out UIUserLogin objUIUserLogin) { retValue = new ExceptionTypes(); DALUserAdministration objDALUserAdministration = new DALUserAdministration(); return(retValue = objDALUserAdministration.GetUserAccessPermission(MSID, null, null, null, out objUIUserLogin)); }
/// <summary> /// load session while session timeout in Login Page /// </summary> /// <returns></returns> private bool LoadCurrentUserSession(out UIUserLogin loggedInUser) { bool isSuccess = false; BLUserAdministration objBLUserAdministration = new BLUserAdministration(); try { string[] strLoginName = System.Web.HttpContext.Current.User.Identity.Name.Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries); string domain = strLoginName[0]; string loginName = strLoginName[1]; ExceptionTypes result = objBLUserAdministration.GetUserAccessPermission(loginName, null, null, null, out loggedInUser); if (result == ExceptionTypes.ZeroRecords) { loggedInUser.IsAuthorizedUser = false; loggedInUser.ErrorMessage = ConstantTexts.NotPartOfERSDBError; return(isSuccess); } if (result != (long)ExceptionTypes.Success) { BLCommon.LogError(0, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.Login, (long)ExceptionTypes.Uncategorized, string.Empty, "Error while fetching logged in user data"); return(isSuccess); } else { #region Check User AD Groups System.Security.Principal.WindowsIdentity winIdnt = System.Web.HttpContext.Current.User.Identity as System.Security.Principal.WindowsIdentity; System.Security.Principal.IdentityReferenceCollection grps = winIdnt.Groups; ////Admin if (IsUserInADGroup(grps, WebConfigData.AdminSID)) { loggedInUser.IsAdminUser = true; } //OST if (IsUserInADGroup(grps, WebConfigData.AdminOSTSID)) { loggedInUser.IsAdmOSTUser = true; } if (IsUserInADGroup(grps, WebConfigData.ManagerOSTSID)) { loggedInUser.IsMgrOSTUser = true; } if (IsUserInADGroup(grps, WebConfigData.ProcessorOSTSID)) { loggedInUser.IsPrcrOSTUser = true; } if (IsUserInADGroup(grps, WebConfigData.ViewerOSTSID)) { loggedInUser.IsVwrOSTUser = true; } //Eligibility if (IsUserInADGroup(grps, WebConfigData.AdminEligSID)) { loggedInUser.IsAdmEligUser = true; } if (IsUserInADGroup(grps, WebConfigData.ManagerEligSID)) { loggedInUser.IsMgrEligUser = true; } if (IsUserInADGroup(grps, WebConfigData.ProcessorEligSID)) { loggedInUser.IsPrcrEligUser = true; } if (IsUserInADGroup(grps, WebConfigData.ViewerEligSID)) { loggedInUser.IsVwrEligUser = true; } //RPR if (IsUserInADGroup(grps, WebConfigData.AdminRPRSID)) { loggedInUser.IsAdmRPRUser = true; } if (IsUserInADGroup(grps, WebConfigData.ManagerRPRSID)) { loggedInUser.IsMgrRPRUser = true; } if (IsUserInADGroup(grps, WebConfigData.ProcessorRPRSID)) { loggedInUser.IsPrcrRPRUser = true; } if (IsUserInADGroup(grps, WebConfigData.ViewerRPRSID)) { loggedInUser.IsVwrRPRUser = true; } #endregion //check if user has atleast one AD group assigned if (loggedInUser.IsAdminUser || loggedInUser.IsAdmOSTUser || loggedInUser.IsAdmEligUser || loggedInUser.IsAdmRPRUser || loggedInUser.IsMgrOSTUser || loggedInUser.IsMgrEligUser || loggedInUser.IsMgrRPRUser || loggedInUser.IsPrcrOSTUser || loggedInUser.IsPrcrEligUser || loggedInUser.IsPrcrRPRUser || loggedInUser.IsVwrOSTUser || loggedInUser.IsVwrEligUser || loggedInUser.IsVwrRPRUser || loggedInUser.IsWebServiceUser || loggedInUser.IsMacroServiceUser) { if (loggedInUser.UserSkills != null && loggedInUser.UserSkills.Count > 0) { loggedInUser.IsAuthorizedUser = true; loggedInUser = LoadDataForLogin(loggedInUser); Session[ConstantTexts.UserSessionBeforeLoginKey] = loggedInUser; isSuccess = true; } else { loggedInUser.IsAuthorizedUser = false; loggedInUser.ErrorMessage = ConstantTexts.NoAccessGroupAssignedError; } } else { loggedInUser.IsAuthorizedUser = false; loggedInUser.ErrorMessage = ConstantTexts.NotPartOfADGroupError; } } } catch (Exception ex) { throw ex; } return(isSuccess); }
/// <summary> /// Used to verify user permissions /// </summary> /// <param name="currentUser"></param> /// <param name="permissionType"></param> /// <param name="discCat"></param> /// <returns>bool</returns> public static bool CheckUserPermission(UIUserLogin currentUser, long permissionType, long discCat, long lWorkQueue = 0) { if (currentUser.UserSkills != null && currentUser.UserSkills.Count > 0) { // bool isWorkQueueAvailable = true; if (lWorkQueue != 0) { bool isWorkQueueAvailable = currentUser.UserSkills.Any(x => x.WorkQueuesLkup == lWorkQueue); switch (permissionType) { case (long)PermissionType.CanClone: return(currentUser.UserSkills.Any(x => x.CanClone && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanCreate: return(currentUser.UserSkills.Any(x => x.CanCreate && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanHistory: return(currentUser.UserSkills.Any(x => x.CanHistory && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanMassUpdate: return(currentUser.UserSkills.Any(x => x.CanMassUpdate && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanModify: return(currentUser.UserSkills.Any(x => x.CanModify && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanReassign: return(currentUser.UserSkills.Any(x => x.CanReassign && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanSearch: return(currentUser.UserSkills.Any(x => x.CanSearch && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanUnlock: return(currentUser.UserSkills.Any(x => x.CanUnlock && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanUpload: return(currentUser.UserSkills.Any(x => x.CanUpload && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanView: return(currentUser.UserSkills.Any(x => x.CanView && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); case (long)PermissionType.CanReopen: return(currentUser.UserSkills.Any(x => x.CanReopen && x.DiscrepancyCategoryLkup == discCat && x.WorkQueuesLkup == lWorkQueue)); } } else { switch (permissionType) { case (long)PermissionType.CanClone: return(currentUser.UserSkills.Any(x => x.CanClone && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanCreate: return(currentUser.UserSkills.Any(x => x.CanCreate && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanHistory: return(currentUser.UserSkills.Any(x => x.CanHistory && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanMassUpdate: return(currentUser.UserSkills.Any(x => x.CanMassUpdate && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanModify: return(currentUser.UserSkills.Any(x => x.CanModify && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanReassign: return(currentUser.UserSkills.Any(x => x.CanReassign && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanSearch: return(currentUser.UserSkills.Any(x => x.CanSearch && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanUnlock: return(currentUser.UserSkills.Any(x => x.CanUnlock && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanUpload: return(currentUser.UserSkills.Any(x => x.CanUpload && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanView: return(currentUser.UserSkills.Any(x => x.CanView && x.DiscrepancyCategoryLkup == discCat)); case (long)PermissionType.CanReopen: return(currentUser.UserSkills.Any(x => x.CanReopen && x.DiscrepancyCategoryLkup == discCat)); } } } return(false); }
public ExceptionTypes GetCurrentMachineUserId(string machineName, out UIUserLogin currentServerDetails, out string errorMessage) { retValue = _objDALCommon.GetBackgroundServerDetails(machineName, out currentServerDetails, out errorMessage); return(retValue); }
private ExceptionTypes CreateSession(WorkBasket objWorkBasket) { ExceptionTypes result = ExceptionTypes.UnauthorizedAccessException; string[] strLoginName = System.Web.HttpContext.Current.User.Identity.Name.Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries); string domain = strLoginName[0]; string loginName = strLoginName[1]; string errorMessage = string.Empty; try { if (IsUserInADGroup()) { if (Session[ConstantTexts.CurrentUserSessionKey] == null) { BLUserAdministration objBLUserAdministration = new BLUserAdministration(); UserAdminstrationController objUserAdminstrationController = new UserAdminstrationController(); //check user access result = objBLUserAdministration.GetUserAccessPermission(loginName, null, null, null, out UIUserLogin loggedInUser); if (result == ExceptionTypes.ZeroRecords) { //insert new User to DB, get details from LDAP bool isUserFound = objUserAdminstrationController.GetUserDetails(loginName, true, out DOADM_UserMaster objDOADM_UserMaster); if (isUserFound) { objDOADM_UserMaster.CreatedByRef = _currentLoginUserId; objDOADM_UserMaster.MSID = loginName; objDOADM_UserMaster.StartDate = DateTime.UtcNow.AddYears(-1); objDOADM_UserMaster.EndDate = DateTime.UtcNow.AddYears(30); objDOADM_UserMaster.lstDOADM_AccessGroupUserCorrelation = new List <DOADM_AccessGroupUserCorrelation>(); //AddAccessGroups(objDOADM_UserMaster); result = objBLUserAdministration.SaveUser(objDOADM_UserMaster, out errorMessage); } else { //user details not found in LDAP MIIMServiceLog(MethodBase.GetCurrentMethod().Name, "", "Session Creation failed for new User. LDAP details not found", _currentLoginUserId, TarceMethodLkup.Completed.ToLong(), (long)MIIMServiceMethod.GetCaseDetails); BLCommon.LogError(_currentLoginUserId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.MIIMConnector, (long)ExceptionTypes.Uncategorized, "Session Creartion failed, LDAP Details not found", "CREATE session failed"); return(ExceptionTypes.UnknownError); } result = objBLUserAdministration.GetUserAccessPermission(loginName, null, null, null, out loggedInUser); } else if (result != ExceptionTypes.Success) { BLCommon.LogError(_currentLoginUserId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.MIIMConnector, (long)ExceptionTypes.Uncategorized, string.Empty, "Error while fetching logged in user data"); return(result); } // Not adding access groups to MIIM user, so they should not be able to access ERS web application. //adding access groups if no access groups assigned //if (loggedInUser.UserSkills == null || loggedInUser.UserSkills.Count <= 0) //{ // DOADM_UserMaster objDOADM_UserMaster = new DOADM_UserMaster(); // objDOADM_UserMaster.IsActive = true; // objDOADM_UserMaster.MSID = loginName; // objDOADM_UserMaster = objUserAdminstrationController.GetUserSearchResult(objDOADM_UserMaster, out errorMessage).FirstOrDefault(); // AddAccessGroups(objDOADM_UserMaster); // objBLUserAdministration.SaveUser(objDOADM_UserMaster, out errorMessage); //} _currentLoginUserId = loggedInUser.ADM_UserMasterId; loggedInUser.WorkBasketLkup = (long)objWorkBasket; loggedInUser.BusinessSegmentLkup = (long)BusinessSegment.MNR; loggedInUser.RoleLkup = (long)RoleLkup.Processor; //login user result = objBLUserAdministration.LoginUser(loginName); if (result != (long)ExceptionTypes.Success) { BLCommon.LogError(_currentLoginUserId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.MIIMConnector, (long)ExceptionTypes.Uncategorized, string.Empty, "Error while fetching logged in user data"); } //create session Session[ConstantTexts.CurrentUserSessionKey] = loggedInUser; return(ExceptionTypes.Success); } else { UIUserLogin loggedInUser = (UIUserLogin)Session[ConstantTexts.CurrentUserSessionKey]; _currentLoginUserId = loggedInUser.ADM_UserMasterId; //pick current user object and check access group is assigned //check user has access to AD group return(ExceptionTypes.Success); } } else { return(ExceptionTypes.UnauthorizedAccessException); } } catch (Exception ex) { BLCommon.LogError(_currentLoginUserId, MethodBase.GetCurrentMethod().Name, (long)ErrorModuleName.MIIMConnector, (long)ExceptionTypes.Uncategorized, ex.ToString(), ex.Message); return(ExceptionTypes.UnknownError); } }
private bool UserLoggedIn(out UIUserLogin loggedInUser) { loggedInUser = null; try { if (CurrentUser == null) { string[] strLoginName = System.Web.HttpContext.Current.User.Identity.Name.Split(new string[] { @"\" }, StringSplitOptions.RemoveEmptyEntries); string domain = strLoginName[0]; string loginName = strLoginName[1]; //Checking user in Database. BLUserAdministration objBLUserAdministration = new BLUserAdministration(); ExceptionTypes result = objBLUserAdministration.GetUserAccessPermission(loginName, null, null, null, out loggedInUser); if (result == ExceptionTypes.ZeroRecords) { return(false); } if (result != (long)ExceptionTypes.Success) { return(false); } else { System.Security.Principal.WindowsIdentity winIdnt = System.Web.HttpContext.Current.User.Identity as System.Security.Principal.WindowsIdentity; System.Security.Principal.IdentityReferenceCollection grps = winIdnt.Groups; //Admin if (IsUserInADGroup(grps, WebConfigData.AdminSID)) { loggedInUser.IsAdminUser = true; } //OST if (IsUserInADGroup(grps, WebConfigData.AdminOSTSID)) { loggedInUser.IsAdmOSTUser = true; } if (IsUserInADGroup(grps, WebConfigData.ManagerOSTSID)) { loggedInUser.IsMgrOSTUser = true; } if (IsUserInADGroup(grps, WebConfigData.ProcessorOSTSID)) { loggedInUser.IsPrcrOSTUser = true; } if (IsUserInADGroup(grps, WebConfigData.ViewerOSTSID)) { loggedInUser.IsVwrOSTUser = true; } //Eligibility if (IsUserInADGroup(grps, WebConfigData.AdminEligSID)) { loggedInUser.IsAdmEligUser = true; } if (IsUserInADGroup(grps, WebConfigData.ManagerEligSID)) { loggedInUser.IsMgrEligUser = true; } if (IsUserInADGroup(grps, WebConfigData.ProcessorEligSID)) { loggedInUser.IsPrcrEligUser = true; } if (IsUserInADGroup(grps, WebConfigData.ViewerEligSID)) { loggedInUser.IsVwrEligUser = true; } //RPR if (IsUserInADGroup(grps, WebConfigData.AdminRPRSID)) { loggedInUser.IsAdmRPRUser = true; } if (IsUserInADGroup(grps, WebConfigData.ManagerRPRSID)) { loggedInUser.IsMgrRPRUser = true; } if (IsUserInADGroup(grps, WebConfigData.ProcessorRPRSID)) { loggedInUser.IsPrcrRPRUser = true; } if (IsUserInADGroup(grps, WebConfigData.ViewerRPRSID)) { loggedInUser.IsVwrRPRUser = true; } if (loggedInUser.IsAdminUser == false && loggedInUser.IsAdmOSTUser == false && loggedInUser.IsAdmEligUser == false && loggedInUser.IsAdmRPRUser == false && loggedInUser.IsMgrOSTUser == false && loggedInUser.IsMgrEligUser == false && loggedInUser.IsMgrRPRUser == false && loggedInUser.IsPrcrOSTUser == false && loggedInUser.IsPrcrEligUser == false && loggedInUser.IsPrcrRPRUser == false && loggedInUser.IsVwrOSTUser == false && loggedInUser.IsVwrEligUser == false && loggedInUser.IsVwrRPRUser == false && loggedInUser.IsWebServiceUser == false && loggedInUser.IsMacroServiceUser == false ) { return(false); } else { CurrentUser = loggedInUser; } } } return(true); } catch { return(false); } }