Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ADFS 2.0超时以及新鲜度值、TokenLifetime和WebSolifetime参数之间的关系_Asp.net_.net_Wif_Claims Based Identity_Adfs2.0 - Fatal编程技术网

Asp.net ADFS 2.0超时以及新鲜度值、TokenLifetime和WebSolifetime参数之间的关系

Asp.net ADFS 2.0超时以及新鲜度值、TokenLifetime和WebSolifetime参数之间的关系,asp.net,.net,wif,claims-based-identity,adfs2.0,Asp.net,.net,Wif,Claims Based Identity,Adfs2.0,我很想知道ADFS 2.0超时场景中Freshness值、TokenLifetime和WebSolifetime参数之间的关系。我已经对此进行了一些分析,但还没有得到一个清晰的图像。我通过几个来源收集了以下关于w.r.t ADFS超时的详细信息 ADFS配置中涉及两个主要超时: WebSolifetime–服务器范围超时参数–默认值=480分钟 TokenLifetime–这是为每个依赖方配置的–默认值=10小时 websolifetime: 这是一个服务器范围的设置,适用于所有RP(依赖方)。

我很想知道ADFS 2.0超时场景中Freshness值、TokenLifetime和WebSolifetime参数之间的关系。我已经对此进行了一些分析,但还没有得到一个清晰的图像。

我通过几个来源收集了以下关于w.r.t ADFS超时的详细信息

ADFS配置中涉及两个主要超时:

  • WebSolifetime–服务器范围超时参数–默认值=480分钟
  • TokenLifetime–这是为每个依赖方配置的–默认值=10小时
  • websolifetime:

    这是一个服务器范围的设置,适用于所有RP(依赖方)。每当用户为给定RP请求令牌时,他必须首先向ADFS服务进行身份验证。与ADFS服务通信后,他将收到两个令牌,一个用于证明他是谁的令牌(我们称之为ADFS令牌)和一个用于RP的令牌(我们称之为RP令牌)。现在,WebSolifetime超时决定了ADFS令牌可用于请求新RP令牌的时间长度,而无需重新验证。换句话说,用户可以为该RP或其他RP请求新的令牌,并且在WebSolifetime使ADFS令牌过期之前,他不必证明自己是谁

    令牌生存期:

    这是适用于特定RP的RP级别设置。它不会影响ADFS服务器中配置的其他RP。每当用户收到RP令牌时,它都会在某个时间过期。此时,用户必须再次转到ADFS服务器并请求新的RP令牌。根据ADFS令牌是否仍然有效,他将不必重新验证

    降低令牌生存期的一个理由可能是您希望更快地更新声明。默认情况下,每当修改某些属性存储信息时,可能需要10个小时才能将此更改送达用户声明中。我们可以使用以下过程通过Shell脚本设置令牌生存期:

    •在管理员模式下启动PowerShell并发出命令

           “Add-PSSnapin Microsoft.Adfs.Powershell” 
    
    •使用以下命令获取应用程序的配置详细信息:

    Get-ADFSRelyingPartyTrust-Name“你的应用程序在ADFS依赖方信任中显示名称”

    •使用以下命令将ADFS设置中的TokenLifeTime值更改为所需值:

    设置ADFSRelyingPartyTrust-Targetname“您的应用程序在ADFS依赖方信任中的显示名称”-TokenLifetime“以分钟为单位的值”

    这将使RP令牌在指定的时间段后失效

    使用上述设置,为了提示用户重新进行身份验证,我们要求WebSolifetime低于令牌生存期

    想象一个场景,其中不同的RP具有不同的重新身份验证超时要求–例如,当其他RP的服务器级WebSoliFeTime设置为50分钟时,RP希望it用户在10分钟后(TokenLifetime设置为10)重新身份验证。在这种情况下,用户将不会重定向到ADFS身份验证页面。相反,用户将在没有任何身份验证的情况下创建一个新会话。这是因为尽管RP级别的令牌已过期,WebSO令牌仍然有效

    新鲜度值:

    为了摆脱这个循环,我们可以使用一个名为Freshness Value(OASIS-)的设置。当包含在web.config的federatedAuthentication部分时,此参数(设置为freshness=“0”)将提示IDP根据WCT参数中的当前时间检查令牌的新鲜度值

    新鲜度值的绿洲描述–wfresh:

    此可选参数表示新鲜度要求。如果指定,则表示以分钟为单位指定的所需身份验证最长期限。IP/STS不应发出具有更长生存期的令牌。如果指定为“0”它表示请求IP/STS在发出令牌之前重新提示用户进行身份验证。”

    影响超时的其他因素:

    <席>我们还需要考虑以下因素:在不使用ADFS代理服务器的地方,通过ISA或TMG反向代理发布ADF,通常称为不知道反向代理的声明。 MSISSignOut跟踪ADFS(在此会话中)发出的所有令牌,因此注销请求可以使ADFS已验证的所有依赖方会话无效,而不仅仅是注销发起请求的应用程序。这就是所谓的单点注销或单点注销。但是,ISA/TMG在设计时没有考虑SAML声明,因此在启动超时/注销过程时,它们无法正确响应

    当我们面对以下任何一种情况时,反向代理令牌的生存期就会出现:

    •用户与请求的web应用程序的会话已过期,他们需要使用ADFS重新验证,或

    •如上所述,已启动注销

    在反向代理会话的生存期内,用户可以重新向ADFS进行身份验证,而无需提示用户输入凭据,因为代理会在会话期间将已收集的凭据传递给ADFS

    这实际上与ADF没有任何关系。这是反向代理上会话的配置方式。这是限制此侦听器的反向代理会话生存期的重要原因。 因此,即使ADFS会话超时,使用活动的反向代理会话,也可以重新对ADFS进行身份验证。有关TMG–ADFS设置的更多详细信息,请阅读博客文章


    我保留这个问题,以获得更多关于这个主题的信息。

    +1关于如何设置WebSolifetime的说明将完成以下操作:设置已达到