Windows NT Token con ADFS para obtener roles remotos de usuario
-
25-10-2019 - |
Pregunta
Creé un ADFS Windows NT habilitado TokenApp configurado IIS 7 para habilitar Windows NT Token en autenticación y respuesta URL como https://adfsweb.treyresearch.net/tokenapp
Agregué esta aplicación a la aplicación ADFSResource como aplicación basada en Token Windows NT.
Usando este archivo web.config (http://blogs.technet.com/b/adfs_documentation/archive/2006/08/03/444865.aspx#doc_bkmk_667328988_f5db_446a_9261_00b4)
El valor predeterminado.aspx.cs como se muestra a continuación.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security.Principal;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = HttpContext.Current.User.Identity.Name;
WindowsIdentity i = (WindowsIdentity)HttpContext.Current.User.Identity;
IdentityReferenceCollection irc = i.Groups;
foreach (IdentityReference ir in irc)
{
Label2.Text += ir.Translate(typeof(NTAccount)).Value.ToString() + "; ";
}
}
}
Funciona siempre que inicie sesión en el dominio ADFSResources con TreyResearch, usuario neto.
Si uso esta URL de tokenAppp del dominio adatum.com, recibo un error, y en el registro de eventos del servidor ADFSresource tengo este error:
Event code: 4011
Event message: An unhandled access exception has occurred.
Event time: 11/29/2011 7:20:26 PM
Event time (UTC): 11/30/2011 1:20:26 AM
Event ID: ac49318023ee4ba4ab7ab6e0bca78522
Event sequence: 5
Event occurrence: 2
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/adfs-1-129670890061718750
Trust level: Full
Application Virtual Path: /adfs
Application Path: C:\Windows\SystemData\ADFS\sts\
Machine name: ADFSRESOURCE
Process information:
Process ID: 1892
Process name: w3wp.exe
Account name: NT AUTHORITY\NETWORK SERVICE
Request information:
Request URL: https://adfsresource.treyresearch.net:443/adfs/ls/clientlogon.aspx
Request path: /adfs/ls/clientlogon.aspx
User host address: 192.168.10.133
User:
Is authenticated: False
Authentication Type:
Thread account name: NT AUTHORITY\NETWORK SERVICE
Custom event details:
¿Esto significa que necesito tener Windows Trust además de ADFS Trust para usar Windows NT Token para dominios remotos? Si es así, no tiene sentido tener confianza en ADFS, si también necesito tener Windows Domain Trust.
Puedo hacer que mi aplicación de reclamo funcione correctamente desde el dominio remoto, pero agregué este nuevo TokenApp después de que se completó toda la importación de exportación de políticas de fideicomiso http://technet.microsoft.com/en-us/library/cc731103%28WS.10%29.aspx
También he seguido y verificado esta información a continuaciónhttp://technet.microsoft.com/en-us/library/cc734929%28WS.10%29.aspx
Solución
Una palabra de advertencia, ese artículo al que se hace referencia fue escrito en 2006 y habla sobre agentes web, en otras palabras, es ADFS 1.
ADFS 2 es prácticamente un producto nuevo. Salió en 2010 y ya no tiene el concepto de agentes.
La "función" de ADFS que viene de serie con Windows Server 2008 no es 2. Debe descargar 2 e instalarlo.
Apéndice A: Requisitos de AD FS 2.0 Estados "AD FS 2.0 no admite aplicaciones basadas en Token Windows NT".
Sin embargo, admite C2WTS (reclamos al servicio de token de Windows).