带有ADFS的Windows NT令牌以获取远程用户角色

本文关键字:程用户 用户 角色 获取 ADFS Windows NT 令牌 带有 | 更新日期: 2023-09-27 18:16:14

我创建了一个启用ADFS windows NT的令牌应用程序配置IIS 7在身份验证中启用windows NT令牌,并将url回复为https://adfsweb.treyresearch.net/tokenapp

我将这个应用程序作为基于Windows NT令牌的应用程序添加到adfsresource应用程序中。

使用本网站。配置文件(http://blogs.technet.com/b/adfs_documentation/archive/2006/08/03/444865.aspx#DSDOC_BKMK_667328988_f5db_446a_9261_00b4)

default.aspx.cs如下。

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() + "; ";
        }
    }
}

只要我用treyresearch,net user从adfsresources域登录就可以了

如果我使用这个tokenappp url从adatum.com域我得到一个错误,并在adfsresource服务器的事件日志我有这个错误:

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: 

这是否意味着我需要在ADFS信任之上拥有Windows信任才能为远程域使用Windows NT令牌?如果是这样的话,如果我还需要windows域的信任,那么拥有ADFS信任就没有意义了。

我可以让我的索赔应用程序从远程域正常工作,但是我在所有信任策略导出导入完成后添加了这个新的令牌应用程序http://technet.microsoft.com/en-us/library/cc731103%28WS.10%29.aspx

我也遵循并验证了下面的信息http://technet.microsoft.com/en-us/library/cc734929%28WS.10%29.aspx

带有ADFS的Windows NT令牌以获取远程用户角色

一个警告-你引用的那篇文章写于2006年,谈论网络代理-换句话说,它是ADFS 1。

ADFS 2几乎是一个新产品。它于2010年问世,不再有代理的概念。

Windows Server 2008自带的ADFS"特性"是1而不是2。你必须下载并安装它。

附录A:审查AD FS 2.0要求声明"AD FS 2.0不支持基于Windows NT令牌的应用程序"。

但是,它确实支持C2WTS(声明Windows令牌服务)。