Compartir a través de


Archivo de credenciales de usuario (Users.xml)

En la siguiente aplicación de ejemplo se espera encontrar un archivo XML denominado Users.xml ubicado en el directorio FormsAuth. Users.xml es el archivo que contiene los nombres y las contraseñas de los usuarios que tienen autorizado el acceso al archivo Default.aspx (ubicado también en el directorio FormsAuth). Logon.aspx lee el nombre y la contraseña de este archivo, y el proceso AddUser escribe el nombre y la contraseña en el archivo.

Este archivo se incluye sólo con fines ilustrativos. El almacenamiento de nombres y contraseñas en un archivo de texto es muy inseguro y podría dar lugar a que se lean las contraseñas en Internet. Si utiliza un archivo XML o cualquier otro archivo de texto para almacenar información confidencial, considere la posibilidad de utilizar un valor hash salt u otra técnica de codificación simétrica apropiada para que sea menos vulnerable a los ataques. En este sencillo ejemplo, las contraseñas se codifican mediante un algoritmo hash según el método estático FormsAuthentication.HashPasswordForStoringInConfigFile. HashPasswordForStoringInConfigFile no es una técnica de valores hash salt y puede resultar vulnerable a los ataques de diccionario, donde un agresor intenta adivinar las contraseña mediante software con el fin de generar de manera iterativa un valor hash para todas las palabras en un diccionario de gran tamaño y comparar los valores hash generados con los almacenados en texto sin formato. Exija a los usuarios que elijan contraseñas que no sean palabras comunes y que contengan números y caracteres no alfanuméricos para evitar los ataques de diccionario.

Aplique también permisos de lista de control de acceso (ACL) al archivo de modo que sólo las cuentas autorizadas puedan leerlo. Asimismo, podrá utilizar otra línea de defensa quitando los permisos de lectura del archivo en Servicios de Microsoft Internet Information Server (IIS) mediante el Administrador de servicios Internet.

Para que ASP.NET pueda escribir en el archivo, conceda permiso de escritura a la cuenta de ASPNET para IIS 5 o a la cuenta de servicio de red (u otra configurada) para IIS 6.

En el siguiente ejemplo se muestra el contenido predeterminado del archivo Users.xml. Las contraseñas sin valores hash son jchenpw para jchen@contoso.com y Kimpw para Kim@contoso.com.

<Users>
    <Users>
        <UserEmail>jchen@contoso.com</UserEmail>
        <UserPassword>
            BA56E5E0366D003E98EA1C7F04ABF8FCB3753889
        </UserPassword>
    </Users>
    <Users>
        <UserEmail>Kim@contoso.com</UserEmail>
        <UserPassword>
            07B7F3EE06F278DB966BE960E7CBBD103DF30CA6
        </UserPassword>
    </Users>
</Users>

Vea también

Seguridad ASP.NET de aplicaciones Web | Autenticación de formularios mediante un archivo de usuarios XML