asp.net - authorization web config
Configuración de autenticación múltiple/diferente en web.config (3)
Creo que puede configurar la autorización de autenticación de formularios en la carpeta 1 para
<allow users="*" />
luego, controle el acceso a Windows mediante la configuración de permisos de Windows en la carpeta.
No lo he intentado, pero no puedo pensar por qué eso no funcionaría.
¿Cómo voy a establecer diferentes etiquetas de autenticación para diferentes partes de mi aplicación web? Digamos que tengo:
/
/folder1/
/folder2/
¿Sería posible especificar diferentes etiquetas <authentication/>
para cada carpeta?
Quiero que la carpeta1 use la autenticación de Windows pero la carpeta2 use la autenticación de formularios.
Intenté hacerlo en una etiqueta <location/>
pero no parece que puedas tener etiquetas <authentication/>
en etiquetas <location/>
, al menos no a través de VS 2008 con su servidor web incorporado.
Este error dice: Error 3 Es un error utilizar una sección registrada como allowDefinition = ''MachineToApplication'' más allá del nivel de la aplicación. Este error puede deberse a que un directorio virtual no está configurado como una aplicación en IIS.
<location path="/folder1">
<system.web>
<authentication mode="Forms" />
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
Esta configuración solo es válida en el nivel raíz de su aplicación ASP.Net. Para usar diferentes configuraciones en una subcarpeta, deberá ingresar a IIS y configurar esa subcarpeta para que sea una aplicación nueva.
Una vez que haya hecho esto, la carpeta tendrá un ícono diferente en el administrador de IIs. Dentro de su subcarpeta, cree un nuevo archivo web.config y agregue la nueva configuración de autenticación allí.
Más información disponible en Crear aplicaciones .
Solo puede tener <authentication />
en el nivel superior web.config
. Puede que tenga que crear múltiples aplicaciones. es decir, puede crear una aplicación dentro de una aplicación y usar diferentes modos de autenticación en cada una.