2010-05-21 12 views
5

Mi empresa tiene varias aplicaciones web escritas en ASP.NET. Necesitamos hacer que estas aplicaciones estén disponibles para los usuarios de Intranet, así como para los usuarios externos autenticados. La mayoría de las características son las mismas para los dos grupos, aunque hay algunas funciones adicionales disponibles para los usuarios internos. Los dos conjuntos diferentes de usuarios usarían una configuración de seguridad ligeramente diferente ... nuestra gente interna se autenticará utilizando LDAP contra Exchange, mientras que los usuarios externos tendrán cuentas en SQL Server.¿Cómo implementar y asegurar que una aplicación web ASP.NET esté disponible para usuarios internos y externos?

¿Cuál es el mejor enfoque para implementar nuestras aplicaciones web? ¿Deberíamos implementar 2 copias en diferentes servidores, uno configurado para una Intranet y otro para usuarios externos? ¿O existe una mejor manera de compartir el código entre los 2 servidores, pero tiene la flexibilidad de utilizar diferentes configuraciones de web.config para la seguridad?

Respuesta

3

Esto es lo que está buscando: http://msdn.microsoft.com/en-us/library/ms972958.aspx

Es específicamente acerca de las ventanas mixtas y la autenticación de formularios.

Puede proteger carpetas mediante la adición de un archivo web.config adicional a la carpeta:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.web> 
    <authorization> 
     <allow roles="admin" /> 
     <deny users="*" /> 
    </authorization> 
    </system.web> 
</configuration> 

Lo que esto hace es permite a cualquier persona con el rol "admin" y niega cualquier otro usuario de recursos de acceso en la carpeta . Hay muchas combinaciones y posibilidades disponibles. Tenga en cuenta que el orden de la declaración de permisos aquí es importante. Vale la pena experimentar para que entiendas completamente cómo funciona esto.

ajustes específicos de la página se pueden manejar de esta manera:

<location path="page.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrators" /> 
     </authorization> 
    </system.web> 
</location> 
Cuestiones relacionadas