Сбой FormsAuthentication.Decrypt для сценариев и CSS - PullRequest
0 голосов
/ 06 марта 2012

Я работаю над собственным решением SSO и сталкиваюсь с некоторыми проблемами с FormsAuthentication.Encrypt и FormsAuthentication.Decrypt.

Когда пользователь проходит проверку подлинности в моем HttpModule, я создаю объект FormsAuthenticationTicket, шифрую его с помощью FormsAuthentication.Encrypt и устанавливаю его в ответе.Затем при последующих вызовах на моем сайте я получаю значение cookie и вызываю FormsAuthentication.Decrypt.Если у вас есть токен для действительного пользователя, я передаю его вам без повторной аутентификации.

Я установил статический MachineKey в моих файлах Web.configs.

Проблема в том, что для определенных страницСбой метода расшифровки для некоторых файлов .css и .js (хотя не для всех и не для основной части приложения) с ошибкой InvalidEncryptedTicket.

Кто-нибудь знает, что может вызвать это?

//Encryption on successful authentication
FormsAuthenticationTicket fmaTicket = new FormsAuthenticationTicket(0, ticket.TicketValue.ToString(), DateTime.Now,
          DateTime.Now + new TimeSpan(0, 0, 20, 0), false, ticket.Principal);
authCookie = new HttpCookie("AUTHTICKET", FormsAuthentication.Encrypt(fmaTicket));

//Decryption when cookie is present
FormsAuthenticationTicket authTicket = FormsAuthentication.Decrypt(authCookie.Value);

1 Ответ

0 голосов
/ 14 июня 2012

Я переключил это на использование классов шифрования Rijindel Managed (http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged.aspx) вместо FormsAuthentication Encrypt и Decrypt и больше не было проблем.

...