public LogonResult Logon(LogonParameters parameters) { LogonResult result = null; using (TransactionScope scope = new TransactionScope()) { using (IDbConnection connection = new DbConnection(ConnectionString)) { connection.Open(); using (IDbCommand command = connection.CreateCommand()) { command.CommandText = "Authentication.Logon_SmartClient"; ((OracleCommand)command).BindByName = true; foreach (IDbDataParameter parameter in LogonTranslator.TranslateParameters(parameters)) { command.Parameters.Add(parameter); } LogDbCommand(command); command.Prepare(); command.CommandType = CommandType.StoredProcedure; command.ExecuteNonQuery(); result = LogonTranslator.TranslateResult(command.Parameters); } } scope.Complete(); } return(result); }
public static IList <IDbDataParameter> TranslateParameters(LogonParameters parameters) { IList <IDbDataParameter> parameterList = new List <IDbDataParameter>(); IDbDataParameter dbParameter; dbParameter = new OracleParameter(); dbParameter.ParameterName = "EMPID_I"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.UserIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "WHID_I"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.WarehouseIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "COMPANY_ID_I"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.CompanyIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "TERID_I"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.TerminalIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "PRODUCT_I"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Input; dbParameter.Value = parameters.ApplicationIdentity; parameterList.Add(dbParameter); dbParameter = new OracleParameter(); dbParameter.ParameterName = "ALMID_O"; dbParameter.DbType = DbTypeConvertor.ConvertToDbType(typeof(string)); dbParameter.Direction = ParameterDirection.Output; dbParameter.Size = 35; parameterList.Add(dbParameter); return(parameterList); }
public LogonResult Execute(LogonParameters parameters) { LogonResult result = null; ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings[schemaName]; string connectionString = settings.ConnectionString; IAuthenticationDao dao = new AuthenticationDao(connectionString); result = dao.Logon(parameters); if (!string.IsNullOrEmpty(result.AlarmId)) { RaiseAlarmAction.Execute(result.AlarmId); } return(result); }
public async Task <IActionResult> Logon([FromBody] LogonParameters parameters) { if (parameters == null) { return(BadRequest()); } if (!ModelState.IsValid) { return(UnprocessableEntity(ModelState)); } SignInResult result = await _identityBusiness.PasswordSignInAsync(parameters.UserName, parameters.Password); if (!result.Succeeded) { return(Unauthorized()); } var user = await _identityBusiness.FindByNameAsync(parameters.UserName); var claims = new[] { new Claim(JwtRegisteredClaimNames.Sub, user.UserName), new Claim(JwtRegisteredClaimNames.Jti, Guid.NewGuid().ToString()), new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()) }; var key = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_jwtOptions.SecurityKey)); var creds = new SigningCredentials(key, SecurityAlgorithms.HmacSha256); var token = new JwtSecurityToken( issuer: _jwtOptions.Issuer, audience: _jwtOptions.Audience, claims: claims, expires: DateTime.Now.AddMinutes(_jwtOptions.ExpiresMinutes), signingCredentials: creds); return(Ok(new { token = new JwtSecurityTokenHandler().WriteToken(token) })); }
public void SelectAndClose(UserWarehouse selectedWarehouse, UserCompany selectedCompany) { if ((selectedWarehouse != null) && (selectedCompany != null)) { try { UserSettingsChangedEventArgs args = new UserSettingsChangedEventArgs(); EventTopic userSettingsTopic = WorkItem.EventTopics.Get(Imi.SupplyChain.UX.UXEventTopicNames.UserSettingsChangedTopic); if (userSettingsTopic != null) { userSettingsTopic.Fire(this, args, WorkItem, PublicationScope.Descendants); if (args.OpenDialogs.Count > 0) { if (ShellInteractionService.ShowMessageBox(this.View.Title, string.Format(LocalResources.ChangeUserSettings_CloseAll, string.Join("\n", args.OpenDialogs)), null, MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.No) { Close(false); return; } } } ShellInteractionService.ShowProgress(); // Get the application IShellModule module = WorkItem.Items.FindByType <IShellModule>().First(); LogonParameters logonParameters = new LogonParameters(); logonParameters.UserIdentity = UserSessionService.UserId; logonParameters.CompanyIdentity = selectedCompany.CompanyIdentity; logonParameters.WarehouseIdentity = selectedCompany.WarehouseIdentity; logonParameters.TerminalIdentity = UserSessionService.TerminalId; logonParameters.ApplicationIdentity = module.Id; LogonRequest logonRequest = new LogonRequest(); logonRequest.LogonParameters = logonParameters; LogonResponse response = Service.Logon(logonRequest); // Set the selected Warehouse and ClientId on statusrow in container ShellInteractionService.ContextInfo = string.Format(LocalResources.STATUSBAR_WH_CLIENT, selectedWarehouse.WarehouseIdentity, selectedWarehouse.WarehouseName, selectedCompany.CompanyIdentity, selectedCompany.CompanyName); Close(true); } catch (Exception ex) { ShellInteractionService.HideProgress(); ShellInteractionService.ShowMessageBox(StringResources.ActionException_Text, ex.Message, ex.ToString(), MessageBoxButton.Ok, MessageBoxImage.Error); } finally { ShellInteractionService.HideProgress(); } } }