Lendo o valor do cookie: Usando o módulo URL Rewrite Provider - Não é possível validar em System.Web.Configuration.MachineKeySection.EncryptOrDecryptData

Tenho requisito para acrescentarUSERNAME para o URL no lado do servidor usando o módulo URL Rewrite.

Por quê?: Eu tenho sitesite1, quando USER fizer login no site1, ele verá um link parasite2., Este link é URL ou relatórios. (Quadro). O ticket autenticado foi criado usandoAutenticação de Formulário no site1. QuandoDO UTILIZADOR clica no link, autenticadonome de usuário deve ser passado para o site2.

Eu poderia acrescentar o nome de usuário do lado do cliente, mas devido a problemas de segurança, tenho que acrescentar o nome de usuário ao URL no lado do servidor antes de ser executado.

Decidi usar o provedor de reescrita de URL, que agarra onome de usuário descriptografando o valor do cookie, como mostrado abaixo

     namespace PlatformAnalysisUrlProvider.PlatformAnalysisProvider
      {
       class AnalysisRewriteProvider: IRewriteProvider, IProviderDescriptor
       {
          public void Initialize(IDictionary<string, string> settings,
                                 IRewriteContext rewriteContext)
          {

          }

          public string Rewrite(string value)
          {
             string[] cookievalues = value.Spli('=');
             FormAuthentication ticket = FormAuthentication.Decrypt(cookievalues[1]);

              //Decrypt throws error as shown below
          } 
       }
      }

Valores de Cookies

        cookievalues [0] =  has the key

        cookievalues [1] =  has the value 

Exemplo:

        233AWJDKSHFHFDSHFJKDFDKJFHDKJFKDJFHDHFDHFKJHDFKJHDFJHDKJFHDSKJFHDF

É um valor de cookie. Mas descriptografar não está acontecendo

Estou recebendo o seguinte erro

        Unable to validate data.
        at System.Web.Configuration.MachineKeySection.EncryptOrDecryptData(
        Boolean fEncrypt, Byte[] buf, Byte[] modifier, Int32 start, 
        Int32 length, IVType ivType, Boolean useValidationSymAlgo, 
        Boolean signData)

Aqui estão minhas configurações no IIS para regravação de URL

URL solicitado: corresponde aos padrõesUsando: Expressão RegularIgnorar maiúsculas e minúsculas - verificadoCondições - Entrada: {HTTP_COOKIE} Tipo: Corresponde ao Padrão:. *Tipo de Ação - ReescreverReescrever URL -http://11.155.011.123{HTTP_URL} & USERNAME = {PlatformAnalysisUrlProvider: {C: 0}}

Também configurei a MACHINE KEY conforme sugerido por este fórum

Eu indiquei este post para desenvolvimento

Uma das postagens de estouro de pilha sugeriu que poderia ser um problema de firewall ou antivírus. Mas não tenho antivírus instalado nem o firewall habilitado.

Realmente ajuda se alguém me indicaramostra de código onde o site hospedado no IIS e o provedor de reconfiguração de URL são usados.

Atualizando log de erros

Notificação MODULE_SET_RESPONSE_ERROR_STATUS - "PRE_BEGIN_REQUEST" HttpReason - "Erro no módulo de reconfiguração de URL"

Atualizando postagem com as informações principais da máquina

     <MachineKey Description="AES" validation="SHA1"
      descriptionKey="******"
      validationKey="******" CompatibilityMode="Framework20SP2">

O motivo pode ser - O site em que o cookie foi criado é desenvolvido usando o .NET Framework 4.5. O provedor em que estamos lendo o cookie é o Framework 3.5. Esta pode ser a causa? OU Precisamos do arquivo de configuração para o projeto Provider?

Atualizações - Adicionei a chave da máquina ao Machine.config, mas ainda não funcionou :(

Solução alternativa

Adicione App.config à classe Library

 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
 <appSettings>
 <!-- ... -->
    <add key="SecurityKey" value="somevalue"/>
 <!-- ... -->
 </appSettings>
 </configuration>

Copiar configuração para o GAC Siga este blog -http://techphile.blogspot.in/2007/02/2.html

Criptografar o valor (consulte aqui) e crie um cookie personalizado durante o Login

Use a lógica de decodificação dentro do provedor de reescrita personalizado

questionAnswers(1)

yourAnswerToTheQuestion