/// <summary> /// Reviso si el usuario tiene permiso para ver esa función. /// </summary> /// <param name="usuario"></param> /// <param name="funcion"></param> /// <param name="operaCon"></param> /// <returns></returns> public void tienePermiso(Usuario usuario, Funcion funcion, Empresa operaCon) { DataPermisos per = DataFactory.Permisos(); int tienePermiso = per.TienePermiso(usuario, funcion, operaCon); if (tienePermiso != 1 && tienePermiso != 2) { TienePermiso = false; } else { TienePermiso = true; } }
public int TienePermiso(Usuario usuario, Funcion funcion, Empresa OperandoCon) { string operar; if (funcion.EsGenerica) operar = "CG"; else operar = OperandoCon.ID; EbuySql conex = new EbuySql(); EbuyQuery query = new EbuyQuery(); query.Stored = "COC_TienePermisos"; query.Parametros = new SqlParameter[4]; query.ConGenerico = false; query.Parametros[0] = new SqlParameter("@Puserid", usuario.Empresa.ID); query.Parametros[1] = new SqlParameter("@Puser", usuario.UserName); query.Parametros[2] = new SqlParameter("@Pfuncion", funcion.Id); query.Parametros[3] = new SqlParameter("@Pempresa", operar); DataSet ds = conex.ExecuteSP(query); DataTable dt = ds.Tables[0]; return Convert.ToInt32(dt.Rows[0]["Permiso"]); }
protected override void OnLoad(EventArgs e) { // AR3050052693/ //PE20305909611 // AR3367881411 Session["@Cia"] = "CG"; Session["@MemoryUser"] = "******"; Session["@DatosDe"] = "AR3367881411"; Session["@idioma"] = "ES"; Session["@usuario"] = "Admin"; Session["@NombreUsuario"] = "Admin"; Session["@Pais"] = "PE"; //Genero la empresa conectada Empresa emp = new Empresa(); emp.ID = EbuySession.Empid; emp.EsProveedor = EbuySession.EsProveedor; emp.EsAdherente = !EbuySession.EsProveedor; // Genero el usuario conectado. Usuario Usuario = new Usuario(); Usuario.UserName = EbuySession.Usuario; // Le asigno la empresa Usuario.Empresa = emp; //Reviso la configuracion del modulo y la pagina actual. this.Pagina = System.IO.Path.GetFileName(Request.PhysicalPath); string ArchivoConfiguracion = Request.CurrentExecutionFilePath; Configuration config = WebConfigurationManager.OpenWebConfiguration(ArchivoConfiguracion.Substring(0, ArchivoConfiguracion.Length - Pagina.Length)); Modulo = config.AppSettings.Settings["NombreModulo"].Value; // Con quien esta operando el usuario. Empresa operaCon = new Empresa(); if (EbuySession.OperaCon != "CG" && EbuySession.OperaCon != null) { operaCon.ID = EbuySession.OperaCon; } else { operaCon.ID = "CG"; } //Busco la funcion donde estoy parado. Funcion func = DataFunciones.GetFuncionByPage(Modulo, this.Pagina); EbuyMaster master = (EbuyMaster)this.Master; master.TituloFuncion = func.Path; // Reviso si el usuario tiene permiso para entrar en la funcion. PermisoLogic per = LogicFactory.Permisos() ; per.tienePermiso(Usuario, func, operaCon); /* if (!per.TienePermiso) { Response.Redirect("/ebuyplacenet/BackPage.aspx?backurl=/asp/comunes/socios.asp"); } */ IdiomaLogic Idio = LogicFactory.Idioma(); IdiomaManager Idioma = IdiomaManager.Instance(); Idioma.AgregarObjeto(Modulo + "::" + Pagina); Idioma.AgregarObjeto("GLOBAL::GLOBAL"); List<string> textoObjetos = Idioma.Objetos; EbuyNegocio.Textos.Idioma id = new EbuyNegocio.Textos.Idioma(); id.Simbolo = "ES"; // EbuySession.Idioma; Idioma.Ejecutar(id); //Idioma.Textos = Idio.GetTextosPorObjetos(textoObjetos, id); base.OnLoad(e); }