【问题标题】:Set Azure AppFabric Access Control Service cookie expiration time设置 Azure AppFabric 访问控制服务 cookie 过期时间
【发布时间】:2012-01-08 22:13:32
【问题描述】:

我在 ASP.NET MVC 3 应用程序中使用 Azure 的访问控制服务。我可以成功登录,阅读我需要的所有索赔数据等。一切正常,除了一件事。一段时间后(不到一小时),身份验证 cookie 似乎过期了(至少它们不再出现在请求的 cookie 集合中)。

我仍在使用开发仿真,没有 SSL(身份验证服务本身除外)。

我正在使用以下操作过滤器来限制对某些控制器的访问:

public class PersonLoginFilter : ActionFilterAttribute, IActionFilter
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        base.OnActionExecuting(filterContext);

        // Check whether the user is logged in
        if (filterContext.HttpContext.Request.IsAuthenticated)
        {
             // ...
        }
    }
}

如何增加过期时间?或者在我的操作过滤器中手动更新 cookie 是否合适?

提前致谢!

【问题讨论】:

    标签: c# asp.net-mvc-3 httpcookie azure-appfabric accesscontrolservice


    【解决方案1】:

    ACS 生成的令牌也有一个过期时间(您可以在管理门户中设置,最长约为 24 小时),但您也可以在 web.config 中设置一个值

    <securityTokenHandlers> 
    <add type="Microsoft.IdentityModel.Tokens.SessionSecurityTokenHandler..."> 
    <sessionTokenRequirement lifetime="0:02" /> 
    </add> 
    </securityTokenHandlers>
    

    ASP.NET 取两者中的最小值。

    如需了解更多信息,我会推荐这篇博文:http://blogs.msdn.com/b/vbertocci/archive/2010/06/16/warning-sliding-sessions-are-closer-than-they-appear.aspx

    它没有明确回答您的问题,但它在讨论滑动会话安全令牌时涵盖了有关到期的概念。

    【讨论】:

    • 谢谢你。管理门户中的时间设置为 10 分钟。大概是因为这个吧。我已将其增加到 24 小时进行测试。
    猜你喜欢
    • 2011-08-04
    • 1970-01-01
    • 1970-01-01
    • 2016-02-23
    • 2019-10-06
    • 2011-11-11
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多