Aquí está el fondo. Tenía un proyecto de .NET MVC v1.0 que intentaba asegurarlo usando el modo de autenticación de Windows. Así que me puse el web.config a:El modo de autenticación de Windows en ASP.NET utiliza el nombre de grupo de Active Directory (previo a Windows 2000)?
<authentication mode="Windows" />
Y luego fui a mi controlador y hice lo siguiente:
[Authorize(Roles="IT")]
public class LicenseController : Controller
En el año tenemos un grupo llamado "IT" y yo soy muchos otros son aparte de este grupo. Una vez que tuve esto en su lugar, comencé una sesión de depuración e intenté ir a cualquiera de las acciones en ese controlador y me encontré con un 401. Busco alto y bajo buscando un lugar donde haya atornillado al perro y no haya podido encontrar nada incorrecto. Después de un tiempo de lucha decidí intentar cambiar el "Autorizar" a un usuario específico y ver si funcionaba. Así que lo cambié a lo siguiente:
[Authorize(Users="domain\\tnederveld")]
Y bajo y he aquí que funcionó. Así que fui y agregué un grupo diferente del que era miembro y saqué la declaración autorizar de los usuarios y funcionó. Comencé a buscar las diferencias entre los dos grupos de AD y lo único que era diferente fue en el segundo grupo que probé con el "Nombre de grupo (anterior a Windows 2000):" eran lo mismo. Los grupos "IT" "Nombre del grupo (anterior a Windows 2000):" eran "Asociados de TI". Así que traté de cambiar la declaración de autorizar a:
[Authorize(Roles="IT Associates")]
Y comenzó a funcionar. Estaba seguro de que se trataba de un problema de MVC, por lo que me aseguré de probarlo en un proyecto regular de Web Forms y me encontré con el mismo problema.
El verdadero truco es que cuando utiliza el UserPrincipal que forma parte de System.DirectoryServices.AccountManagement, devuelve el grupo "IT" cuando utiliza el método .GetGroups().
¿Por qué está sucediendo esto?
Terry, si desea incluir XML o fragmentos de código en su publicación (¡buena idea!), Debe resaltar esas líneas y luego usar el botón "código" (101 010) en la barra de herramientas del editor (o presionar Ctrl-K) para formatearlos apropiadamente. –