private CswEnumAuthenticationStatus _authenticate() { CswEnumAuthenticationStatus AuthenticationStatus = CswEnumAuthenticationStatus.Unknown; try { string ParsedAccessId = _AuthenticationRequest.CustomerId.ToLower().Trim(); if (false == string.IsNullOrEmpty(ParsedAccessId)) { _CswSessionManager.setAccessId(ParsedAccessId); } else { throw new CswDniException(CswEnumErrorType.Warning, "There is no configuration information for this AccessId", "AccessId is null or empty."); } } catch (CswDniException ex) { if (!ex.Message.Contains("There is no configuration information for this AccessId")) { throw ex; } else { AuthenticationStatus = CswEnumAuthenticationStatus.NonExistentAccessId; } } if (AuthenticationStatus == CswEnumAuthenticationStatus.Unknown) { AuthenticationStatus = _CswSessionManager.beginSession(_AuthenticationRequest); } // case 21211 if (AuthenticationStatus == CswEnumAuthenticationStatus.Authenticated) { // Removed for case 28617. See case 28621. //// case 21036 //if( _AuthenticationRequest.IsMobile && // false == _CswNbtResources.Modules.IsModuleEnabled( CswNbtModuleName.SI ) ) //{ // AuthenticationStatus = AuthenticationStatus.ModuleNotEnabled; // _CswSessionManager.clearSession(); //} CswLicenseManager LicenseManager = new CswLicenseManager(_CswNbtResources); if (LicenseManager.MustShowLicense(_CswNbtResources.CurrentUser)) { if (LicenseManager.AllowShowLicense(_CswNbtResources.CurrentUser)) { // BZ 8133 - make sure they've seen the License AuthenticationStatus = CswEnumAuthenticationStatus.ShowLicense; } else { // case 30086 - prevent login if admin hasn't accepted the license yet AuthenticationStatus = CswEnumAuthenticationStatus.NoLicense; _CswSessionManager.clearSession(); } } else if (_CswNbtResources.CurrentNbtUser.PasswordIsExpired) { // BZ 9077 - Password expired AuthenticationStatus = CswEnumAuthenticationStatus.ExpiredPassword; } else if (1 < _CswNbtResources.CswSessionManager.SessionsList.getSessionCountForUser(_CswNbtResources.AccessId, _AuthenticationRequest.UserName) && false == _AuthenticationRequest.IsMobile && CswNbtObjClassUser.ChemSWAdminUsername != _CswNbtResources.CurrentUser.Username) { AuthenticationStatus = CswEnumAuthenticationStatus.AlreadyLoggedIn; } } return(AuthenticationStatus); }
public CswEnumAuthenticationStatus Authenticate(CswWebSvcSessionAuthenticateData.Authentication.Request AuthenticationRequest) { AuthenticationRequest.IpAddress = CswWebSvcCommonMethods.getIpAddress(); return(CswSessionManager.beginSession(AuthenticationRequest)); }//Authenticate()