JASoft.org

Suplantación de usuarios en IIS y ASP.NET: un resumen detallado

Suplantación de usuarios en IIS y ASP.NET: un resumen detallado
A la hora de desplegar en un entorno real de producción, para ponerlas a disposición de todo el mundo, las aplicaciones web creadas con ASP.NET se albergan en un servidor web. Por regla general éste será Internet Information Server (IIS), incluido en las versiones de servidor de Windows. IIS no es más que otra aplicación que se ejecuta sobre el sistema operativo, por lo que es Windows el que se ocupa del nivel más bajo de la cadena de la seguridad. Por ello conviene tener claro que la última palabra a la hora de conceder acceso a un recurso físico del sistema la tiene el propio sistema operativo, no IIS ni ASP.NET. Contextos de seguridad En Windows, cada proceso se ejecuta dentro de su propio contexto de seguridad. Cuando un proceso accede, por ejemplo al sistema de archivos NTFS, los permisos se le otorgan en función del contexto en el que se ejecute. Normalmente si un proceso lanza otro subproceso éste ... [Más]

Cómo conectarse a IIS Express desde fuera de la máquina local

Cómo conectarse a IIS Express desde fuera de la máquina local
Hace unos tres años Microsoft lanzó IISExpress, una versión ligera de su servidor Web y servidor de aplicaciones, pensada fundamentalmente para ser utilizada por parte de los desarrolladores. Hasta entonces cuando queríamos probar y depurar una aplicación web desde Visual Studio teníamos básicamente dos opciones: Usar el servidor de desarrollo integrado, conocido comúnmente como “Cassini”. El problema es que no era el servidor verdadero y había ciertas diferencias con un entorno de producción real. Además no permitía usar otras tecnologías como PHP o ASP Clásico, y a veces era necesario por que tenemos aplicaciones mixtas. Usar el propio Internet Information Server, que sí que era ya como el entorno real y no tenía ningún tipo de limitaciones. El problema es que para poder usarlo necesitas permisos de administrador y además implica configurar el ... [Más]

CSS: cómo truncar texto con puntos suspensivos automáticamente

CSS: cómo truncar texto con puntos suspensivos automáticamente
Cuando diseñamos una interfaz de usuario o una página web, es muy complicado saber de antemano si un determinado texto va a caber dentro de un elemento o no, sobre todo teniendo en cuenta que los diseños fluidos actuales varían constantemente su tamaño para adecuarse al espacio disponible. Para ver a qué me refiero imagina por ejemplo, el título de un artículo que quieres que entre en una sola línea para que no se desplace hacia abajo, rompiendo el diseño, cuando es muy largo. O por ejemplo que quieres crear algunos “tiles” del estilo de los que tiene Windows 8, con textos variables en longitud, y que aunque sean textos muy largos no quieres que puedan ocupar más espacio horizontal del disponible. Por ejemplo, consideremos este código sencillo de una página: 1: <!doctype html> 2: <html lang="en"> 3: <head> 4: <meta charset="UTF-8"> 5: <title>Texto truncado</title&g... [Más]

Calculando valores de propiedades CSS dinámicamente sin programar

Calculando valores de propiedades CSS dinámicamente sin programar
Una característica muy interesante introducida en CSS3 es la posibilidad de asignar valores a propiedades CSS utilizando cálculos, de forma que en lugar de utilizar valores constantes coo siempre, se utilicen valores dinámicos que varíen en función de ciertas condiciones. Para ello se ha diseñado la función calc de CSS3. Es una función específica para trabajar con valores numéricos (generalmente dimensiones) y que nos permite realizar operaciones matemáticas muy sencillas. Los operadores que permite utilizar son solamente la suma (+), la resta (-), la multiplicación (*) y la división (/). Su principal característica, y para lo que vamos a usarlo realmente la mayor parte de las veces, es que gracias a calc podemos mezclar unidades de medida, incluso relativas y absolutas, en los valores de las propiedades CSS. Por ejemplo: ¿cómo centrarías un elemento dentro de otro de modo que el centro de ambos quede superpuesto? (es decir, un centrado perfecto). Si tenemos estos dos elementos: ... [Más]

TRUCO: Acceder a SQL Server Configuration Manager en Windows 8

TRUCO: Acceder a SQL Server Configuration Manager en Windows 8
Esto es algo muy tonto, pero que te puede llegar a frustrar… Si quieres modificar las configuraciones de SQL Server, acceder a las propiedades de las instancias y los servicios, la configuración de red, etc… necesitas acceder al Configuration manager: En Windows 7 y versiones anteriores es muy sencillo acceder a esta herramienta ya que tiene un icono muy claro en el menú de inicio: Sin embargo, si tienes instalado SQL Server en Windows 8 o posterior, aunque busques en la lista completa de programas de Windows en la pantalla de inicio, no aparece por ningún lado. El motivo es que, en realidad, este programa no es un ejecutable normal y corriente, sino que es un "snap-in" o complemento "enchufable" de la consola de administración del sistema, Microsoft Management Console (MMS), y por eso no lo considera el nuevo menú de inicio. ¿Cómo podemos acceder a esta funcionalidad de manera sencilla? Bueno, una forma sería lanzar MMC.exe y agregar el complemento desde ... [Más]

Booleanos, pseudo-booleanos, operadores y condicionales en JavaScript: mucho más complejo de lo que parece

Booleanos, pseudo-booleanos, operadores y condicionales en JavaScript: mucho más complejo de lo que parece
Lo que voy a explicar hoy tiene mucho más trasfondo del que puede parecer a simple vista, y es aplicable no solo a JavaScript sino a cualquier lenguaje débilmente tipado que maneje valores que se pueden evaluar automáticamente como si fueran booleanos. En JavaScript existen valores booleanos (true y false) pero existen también otros valores que usados en el contexto de un operador booleano se comportan también como si fueran booleanos. A los tipos de datos no booleanos que se interpretan como verdadero cuando se evalúan se les denomina valores "truly" (o como les llamo yo en español: valores "verdadosos"). Cuando se evalúan como falsos se les denomina valores "falsy" (o valores "falsosos"). Condicionales y conversiones implícitas Por ejemplo consideremos este código:   var v = "cualquier cosa"; if (v) alert("verdadero"); else alert("falso"); ¿Cuál crees que será... [Más]

Nuevos proyectos unificados de aplicaciones ASP.NET en Visual Studio 2013

Nuevos proyectos unificados de aplicaciones ASP.NET en Visual Studio 2013
Un poco de historia para comenzar y ayudarnos a entender el porqué de lo que voy a explicar. Cuando nació ASP.NET hace ya casi 15 años lo único que existía era ASP.NET Web Forms. Este novedoso paradigma de desarrollo trataba de acercar el desarrollo web a los programadores de escritorio, y permitía arrastrar y soltar controles, controlar eventos en el servidor como si fueran eventos de cliente, etc… Algo muy innovador y que todavía sigue siendo muy útil (y muy utilizado), pero que cada vez se usa más para ciertos ámbitos concretos, como las aplicaciones empresariales. Una década más tarde Microsoft decidió que aunque esto estaba muy bien para crear rápidamente aplicaciones de tipo empresarial no daba la flexibilidad apropiada para crear aplicaciones web generales, donde se necesitaba un control absoluto sobre el HTML generado, y se necesita poder sacar partido con total libertad a... [Más]

TRUCO: Guardar un plan de mantenimiento fuera de SQL Server

TRUCO: Guardar un plan de mantenimiento fuera de SQL Server
Como es sabido, SQL Server dispone de una utilidad estupenda llamada "Planes de Mantenimiento" que nos permite, sin apenas tener ni idea, crear un montón de tareas útiles para nuestras bases de datos: desde comprobar la integridad de las base de datos o actualizar las estadísticas, hasta crear copias de seguridad con multitud de opciones. También nos permite definir con mucho nivel de detalle las tareas a realizar, con una interfaz gráfica que nos muestra el flujo de trabajo y nos permite programarlas a determinadas horas, etc… Pulsa para aumentar Se trata de algo realmente útil que nos permite obtener un gran control sobre las acciones a realizar de manera periódica, sin tener que recurrir a programarlas en T-SQL. Estos planes de mantenimiento se almacenan por defecto en el propio motor de base de datos. Si queremos guardarlos a disco para persistirlos fuera de la base de datos o para reutilizarlos en otro servidor, el SQL Server Management Studio (SSMS) no nos facil... [Más]

OFF-TOPIC: Nuevo curso de HTML y CSS

OFF-TOPIC: Nuevo curso de HTML y CSS
<disclaimer> Llevo casi diez años haciendo este blog (y muchos años más con esta página) ayudando a mucha gente, así que me vas a perdonar que alguna vez de tarde en tarde haga algo de auto-bombo y te cuente mis proyectos personales. Como hoy :-) Quizá te puede interesar lo que cuento en cualquier caso. Gracias por leerlo. </disclaimer> La verdad es que durante los últimos meses he estado muy ocupado. Mucho más que de costumbre. Y esa es la causa de que, aunque sí he puesto cosas interesantes últimamente, no haya publicado aquí en JASoft.org tanto como me hubiera gustado, además de haber dejado de lado muchas otras otras cosas. Hay dos motivos principalmente para ello: He estado trabajando todo el verano en un nuevo curso. He estado (y todavía estoy) trabajando codo con codo con nuestros autores en nuevos cursos para campusMVP. ¿Detectas la palabra clave? ;-) Efectivamente: cursos, cursos, cursos... Este ha sido mi verano (y parte ya del otoñ... [Más]

Este soy yo y este es mi blog técnico, dedicado al software y a la programación.

Mis otros blogs

- JM Alarcón @ campusMVP.es
Contenido técnico en español orientado a desarrolladores
- JMAlarcon.es
Blog personal no técnico: sociedad, innovación, empresa...

Krasis

- campusMVP.es:
Los mejores cursos online de programación en español

- SELF LMS:
La plataforma de elearning más potente del mercado.