2010-09-17 29 views
6

siempre he leído que el usuario que configura en el sitio web IIS/directorio virtual es el usuario que ejecuta la aplicación (identidad de usuario anónimo)¿qué usuario ejecuta mi usuario asp.net?

Pero en el grupo de aplicaciones, también puedo configurar un usuario (modelo de proceso , identidad)

¿Cuál es la diferencia entre los dos, y cuál necesitará acceso si hago una lectura de archivo?

EDIT:

la recompensa es para este quesyion ', pero si yo uso 'autenticación anónima', es el usuario i elegir en la 'identidad de usuario anónimo' utilizado alguna vez? - 'publicado como comentario

Respuesta

2

Piensa en el sitio web identity como una regla que define quién puede acceder al sitio. Si especifica una cuenta anónima para usar, esa cuenta debe tener acceso al sitio. Si el acceso anónimo está deshabilitado, las credenciales del usuario deben tener acceso a la carpeta.

La identidad del grupo de aplicaciones define lo que la aplicación puede hacer. El proceso de trabajo del grupo de aplicaciones se ejecutará utilizando la identidad del grupo de aplicaciones; esa cuenta debe tener acceso a los recursos (SQL Server, archivos compartidos, etc.) a los que la aplicación deberá acceder.

Para responder a su pregunta: sí, se usa la cuenta anónima. Piense en el escenario en el que aloja cientos de sitios web y no quiere que los archivos de un cliente puedan acceder a los de otro. Usted asignaría acceso anónimo por separado a cada cliente.La cuenta anónima de cada sitio permite a IIS acceder solo a los archivos relevantes para ese sitio en particular (siempre que haya configurado correctamente el acceso de esa cuenta).

4

Pago this post. Cita:

Las dos cuentas son cosas diferentes. Piense en la identidad del sitio web que representa al usuario del sitio. Si crea un nuevo sitio web, esta cuenta es la cuenta anónima de IIS. Si desactivar "Autenticación anónima", sus usuarios deben autenticarse contra el sitio web (en un dominio/sitio de Windows intranet esta podría ser Implicite utilizando la red credenciales.)

La identidad del grupo de aplicaciones es la cuenta de Windows necesaria para ejecutar sus ensamblajes. Normalmente es la cuenta de "Servicio de red" que es una cuenta con menos privilegios con permisos y permisos de usuario limitados. Sí tiene credenciales de red. Esto significa que puede usar para autenticar contra recursos de red en un dominio. También puede usarlo para acceder a una base de datos de servidor SQL con seguridad integrada .

Por ejemplo, si su aplicación ASP.NET tiene que escribir en una carpeta, tiene que conceder el permiso para la cuenta del grupo de aplicaciones, no la cuenta web. Para obtener más información sobre en las identidades del grupo de aplicaciones , lea aquí.

+0

Gran! Sin embargo, una pregunta más: ¿cuándo se usa el usuario del sitio web? La cita indica la identidad del grupo de aplicaciones utilizada para el acceso al archivo y el servidor sql, pero ¿cuándo se usa el usuario del sitio web para la autenticación? – Michel

+0

@Michel, piense que es el mecanismo que decide usar para autenticar a los usuarios. Si deja la autenticación anónima, cualquiera puede acceder a su sitio. Si habilita la autenticación básica, un usuario deberá proporcionar las credenciales para acceder al sitio. –

+0

pero si uso 'autenticación anónima', ¿es el usuario que elijo en la 'identidad de usuario anónimo' alguna vez utilizado? – Michel

0

@Michel

si tiene una configuración de cuenta de acceso Anon en su sitio (dir virtual)

y usted tiene

<system.web> 
    <identity impersonate="true" /> 
</system.web> 

en su web.config, esto va a usar esa identidad .

si tiene una parte de código en el que puede configurar las credenciales

CredentialCache.DefaultCredentials

este apuntará a la Cuenta Anon, si quieres probar lo que el usuario está utilizando tratar

Thread.CurrentPrincipal.Identity.Name.ToString() 

echar un vistazo a este post para más información
http://blogs.iis.net/sakyad/archive/2008/11/19/process-and-thread-identity-in-asp-net-a-practical-approach.aspx

Cuestiones relacionadas