2009-03-16 30 views
10

Estoy desarrollando una aplicación web ASP.net para mi empresa. Algunos usuarios usan este sitio en la red interna (Intranet) y algunos utilizan el sitio de Internet. Estoy usando el modo de Autenticación de Windows.Autenticación de Windows para Intranet/Internet

Tengo que encontrar una manera de No preguntar modo de autenticación de Windows para un usuario de Intranet y pronta modo de autenticación de Windows para un usuario de Internet.

¿Cómo puedo hacer esto?

Respuesta

0

Por lo que sé, la autenticación de Windows solo se puede usar para la intranet, pero también puede incluir la autenticación de formularios para autenticar a los usuarios de Internet. This page tiene algo de información y un enlace para un tutorial sobre cómo hacer esto.

0

Probablemente implementaría la aplicación en dos servidores diferentes. autenticación de Windows en un servidor dentro del firewall que sea accesible y esté disponible para usuarios autenticados de Windows. en público, configuras la configuración web para utilizar la autenticación de formularios y luego te preocupas por asegurar la conexión con el servidor. Sin embargo

, si desea utilizar un único servidor para esto puede ser que desee leer este artículo de MSDN: Mixing Forms and Windows Security in ASP.NET

18

Sobre la base de lo que su están describiendo, la autenticación de Windows en IIS hará el truco.

En primer lugar algunas enlaces:

Sin embargo tenga en cuenta lo siguiente:

inicio de sesión único (SSO) (es decir, acceder a la aplicación sin proporcionar un nombre de usuario y contraseña) se producirá si todo lo siguiente es verdadero:

  • La computadora cliente y el servidor son parte del mismo dominio de Active Directory.
  • La sesión de usuario en la computadora cliente es un usuario del dominio AD.
  • El equipo cliente tiene acceso a un servidor de dominio (es decir, el servidor responsable del inicio de sesión del usuario)
  • El navegador es Internet Explorer.
  • la URL utilizada puntos para el FQDN del servidor (es decir, http://SERVERNAME.DOMAIN.NAME/ el acceso no sólo http://SERVERNAME/
  • Los usuarios autorizados deben haber leído al directorio de la aplicación si está utilizando hacerse pasar. La aplicación se ejecuta con su credencial básicamente. (más detalles en el MSDN article)

en cualquier otra circunstancia al usuario se le pedirá credenciales (usuario y contraseña) para una cuenta en el dominio de Active Directory. Así el usuario para acceder a su servidor web a través de Internet se pueden conseguir una ventana emergente le preguntará ellos para proporcionar un nombre de usuario y contraseña.

Tenga en cuenta que para el usuario que no utiliza el inicio de sesión único (el usuario solicita un nombre de usuario y contraseña), el modo de autenticación HTTP será BASIC, lo que significa que cualquiera que pueda interceptar esa conexión podrá ver el nombre de usuario y contraseña intercambiado. Si opta por esta técnica, asegúrese de que la conexión entre el cliente y el servidor esté encriptada (HTTPS o tal vez una VPN).

+1

El siguiente enlace dice que Windows Integrated Authentication no usará BASIC con IE, sino que regresará a NTLM. http://www.aniltj.com/blog/CommentView,guid,d6bb26b9-8371-40f1- a3 57-ab9023df86ad.aspx ¿Es seguro NTLM en HTTP? ¿Es esto cierto para los navegadores no IE también? – Spongeboy

+1

NTLM es compatible con todos los principales navegadores. Sugeriría que fuerce HTTPS para cualquier contenido autenticado, incluso si usa NTLM. – bkr

2

Asegúrese de que su servidor web se esté ejecutando en un dominio y que todos sus usuarios de la Intranet tengan acceso de lectura a la carpeta que contiene su sitio web en el servidor web.

A continuación, asegúrese de que tiene en su web.config (suponiendo que se quiere detectar qué usuario de dominio está accediendo a su sitio.

Por último, abrir el administrador de IIS y haga clic derecho en la página web y seleccionar "Propiedades" A continuación, haga clic en la pestaña "Seguridad de directorio" y haga clic en "Editar" en Autenticación y control de acceso. Desmarque "Acceso anónimo" y asegúrese de que esté marcada la "Autenticación de Windows integrada". Esto debería hacer que el sitio web se comporte como se esperaba (suponiendo que sus clientes de intranet use IE)

Cuestiones relacionadas