Пример #1
0
        private void LeerTipoAutenticacionDeRegistro()
        {
            string valorLlave = UtilesComunes.LlaveDeRegistro.LeerValorDeRegistro(Microsoft.Win32.Registry.LocalMachine, "SOFTWARE\\SisFallaV2", "TipoAutenticacion");

            if (string.IsNullOrEmpty(valorLlave))
            {
                _tipoAutenticacion = DAL.TipoAutenticacion.BaseDatos;
            }
            else
            {
                _tipoAutenticacion = (TipoAutenticacion)Enum.Parse(typeof(TipoAutenticacion), valorLlave);
            }
        }
Пример #2
0
 private void LeerConfiguracion()
 {
     try
     {
         _cadenaConexion    = Config.Config.Intance.Read("Configuracion/Conexiones/ConexionBD", "Local", "Cadena", "");
         _tipoBD            = TipoBaseDatos.Local;
         _tipoAutenticacion = DAL.TipoAutenticacion.BaseDatos;
         if (string.IsNullOrEmpty(_cadenaConexion))
         {
             LeerTipoAutenticacionDeRegistro();
             _tipoBD = TipoBaseDatos.Centralizada;
         }
         LeerConnectionDeRegistro();
     }
     catch (Exception ex)
     {
         Pistas.PistaMgr.Instance.Error("ConfigConexionMgr", ex);
     }
 }
Пример #3
0
        public IdentityResult CreateUser(Usuario usuario, string contrasena)
        {
            try
            {
                IdentityResult result = userManager.CreateAsync(usuario, contrasena).Result;

                if (result.Succeeded)
                {
                    Usuario appUser = userManager.FindByNameAsync(usuario.UserName).Result;

                    TipoAutenticacion auth = dbManager.TiposAutenticacion.Where(a => a.IdTipo == usuario.IdTipoAuth).Single();

                    //AccountManager
                    Claim claimAuth     = new Claim(ClaimTypes.AuthenticationMethod, "Usuario y Contraseña");
                    Claim claimDomain   = new Claim(ClaimTypes.StreetAddress, String.Empty);
                    Claim claimURL      = new Claim(ClaimTypes.Uri, String.Empty);
                    Claim claimLocality = new Claim(ClaimTypes.Locality, String.Empty);

                    //if (auth.IdAD != null)
                    //{
                    //    Dire directory = dbManager.ActiveDirectory.Where(d => d.IdAD == auth.IdAD).Single();

                    //    //ActiveDirectory
                    //    if (!directory.IsCloud)
                    //    {
                    //        claimDomain = new Claim(ClaimTypes.StreetAddress, directory.Domain);
                    //        claimURL = new Claim(ClaimTypes.Uri, directory.Host);
                    //        claimAuth = new Claim(ClaimTypes.AuthenticationMethod, AutethienticationType.ActiveDirectory.ToString());
                    //    }
                    //    //AzureAD
                    //    else
                    //    {
                    //        claimDomain = new Claim(ClaimTypes.StreetAddress, directory.TenantId);
                    //        claimURL = new Claim(ClaimTypes.Uri, directory.ClientId);
                    //        claimAuth = new Claim(ClaimTypes.AuthenticationMethod, AutethienticationType.AzureAD.ToString());
                    //        claimLocality = new Claim(ClaimTypes.Locality, directory.Host);
                    //    }


                    //}

                    //Add Claims
                    result = userManager.AddClaimsAsync(appUser, new List <Claim> {
                        claimAuth, claimDomain, claimURL, claimLocality
                    }).Result;
                }

                return(result);
            }
            catch (Exception e)
            {
                IdentityError error = new IdentityError();
                error.Code        = e.Message;
                error.Description = e.StackTrace.ToString();

                IdentityResult result = IdentityResult.Failed(error);


                return(result);
            }
        }