Windows Identity Foundation: как получить новый токен безопасности в ASP.net - PullRequest
1 голос
/ 02 февраля 2010

Я пишу приложение ASP.net, которое использует Windows Identity Foundation. В моем приложении ASP.net используется проверка подлинности на основе утверждений с пассивным перенаправлением в службу маркеров безопасности. Это означает, что когда пользователь получает доступ к приложению, они автоматически перенаправляются в службу маркеров безопасности, где они получают токен безопасности, который идентифицирует их для приложения.

В ASP.net токены безопасности хранятся в виде файлов cookie.

Я хочу, чтобы в моем приложении пользователь мог щелкнуть что-нибудь, что удалит cookie и перенаправит их в службу маркеров безопасности для получения нового токена. Короче говоря, упростите выход из системы и вход в систему как другой пользователь. Я пытаюсь удалить содержащий токен cookie в коде, но он как-то сохраняется.

Как удалить токен, чтобы пользователь мог снова войти в систему и получить новый токен?

Ответы [ 2 ]

5 голосов
/ 19 апреля 2010

Я нашел решение. Короче говоря:

   Dim smartWsFederationAuthenticationModule As  _
        Microsoft.IdentityModel.Web.WSFederationAuthenticationModule = _
        HttpContext.Current.ApplicationInstance.Modules("WSFederationAuthenticationModule")
    smartWsFederationAuthenticationModule.SignOut(True)

Смотрите здесь для получения дополнительной информации: http://garrettvlieger.com/blog/2010/03/refreshing-claims-in-a-wif-claims-aware-application/

Я также вижу, что могу получить дескрипторы для некоторых других частей инфраструктуры WIF, как это было также. Это определенно стоит прочитать.

0 голосов
/ 15 марта 2010

Печенье немного странно. Они управляются браузером, и для их удаления нет «метода». Простое удаление их из объектов Request или Response на стороне сервера не приводит к их удалению из браузера на стороне клиента.

Чтобы «удалить» куки, вы должны установить дату истечения срока его действия.

См .: http://msdn.microsoft.com/en-us/library/ms178195.aspx

...