ASP.NET WebServices авторизация - PullRequest
       7

ASP.NET WebServices авторизация

1 голос
/ 03 ноября 2010

У меня есть веб-сервис ASP.NET, к которому обращается какое-то программное приложение.В моем методе «Логин» я создаю FormsAuthenticationTicket, шифрую его и возвращаю пользователю веб-службы.Ожидается, что этот тикет будет отправлен каждому из методов веб-сервиса: GetLicense, CreateProduct и т. Д. Когда тикет получен, он расшифровывается и проверяется, если срок его действия истек.

Проблема в методе «Выход»:любая возможность форсировать срок действия билета.Если он создан с продолжительностью 60 минут, он может быть помечен как просроченный.Тем не менее, пользователь назвал метод «Выход из системы», но он по-прежнему сможет использовать тот же билет позже.

Пожалуйста, посоветуйте, каков наилучший способ авторизации для пользователей веб-служб?

Спасибомного!

PS Любые мысли приветствуются.Вероятно, мне нужно использовать другой механизм (не объект FormsAuthenticationTicket).

1 Ответ

0 голосов
/ 03 ноября 2010

То, что я вижу как простое решение, это поместить билет в коллекцию HttpContext.Current.Application с

HttpContext.Current.Application.Add(ticket)

Когда пользователь пытается использовать тикет - проверьте, находится ли он в коллекции. Если да - проверьте, не истек ли он ...

Когда пользователь вызывает метод «Выход» - я просто удаляю тикет из коллекции ...

Похоже на быстрый обходной путь для принудительного истечения срока действия FormsAuthenticationTicket.

Пожалуйста, дайте мне знать, если вы видите отсутствие такого подхода.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...