Установить срок действия файлов cookie службы контроля доступа Azure AppFabric

Я использую службу контроля доступа Azure в приложении ASP.NET MVC 3. Я могу успешно войти в систему, прочитать все данные о претензиях, которые мне нужны, и т. Д. Все работает нормально, кроме одной вещи. Через некоторое время (менее часа) срок действия файлов 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)
        {
             // ...
        }
    }
}

Как я могу увеличить срок действия? Или было бы целесообразно вручную обновить куки в моем фильтре действий?

Заранее спасибо!

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

Он не дает четкого ответа на ваш вопрос, но охватывает концепции, связанные с истечением срока действия, в обсуждении токена безопасности скользящего сеанса.

Другие вопросы по тегам