Установить срок действия файлов cookie службы контроля доступа Azure AppFabric - PullRequest
2 голосов
/ 09 января 2012

Я использую службу контроля доступа 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)
        {
             // ...
        }
    }
}

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

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

1 Ответ

2 голосов
/ 09 января 2012

Маркер, который генерирует 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

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

...