【发布时间】:2014-11-19 11:42:47
【问题描述】:
我正在将 Web 表单中的表单身份验证迁移到 Microsoft Identity。
当使用ClaimsPrincipal cp 对象创建SessionSecurityToken 时,我有以下代码:
Dim token As New SessionSecurityToken(cp, TimeSpan.FromMinutes(30))
但是,在 web.config 我也看到了这个:
<configSections>
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
</configSections>
<system.identityModel>
<identityConfiguration>
<securityTokenHandlers>
<add type="System.IdentityModel.Tokens.SessionSecurityTokenHandler, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089">
<sessionTokenRequirement lifetime="00:30:00" /><!-- 30 minutes -->
</add>
</securityTokenHandlers>
</identityConfiguration>
</system.identityModel>
这些是一样的吗?为了证明我的RTFM,sessionTokenRequirement lifetimeis defined as:
指定会话令牌的生命周期。
SessionSecurityToken lifetimeis defined as:
令牌有效的当前时间段。 ValidFrom 属性将设置为 UtcNow,ValidTo 属性将设置为 ValidFrom 加上此参数指定的时间段。
前者似乎含糊不清,所以我不确定。
【问题讨论】:
标签: asp.net asp.net-identity claims-based-identity