Установить срок действия файлов 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
Он не дает четкого ответа на ваш вопрос, но охватывает концепции, связанные с истечением срока действия, в обсуждении токена безопасности скользящего сеанса.