Lectura del valor de la cookie: uso del módulo URL Rewrite Provider: no se puede validar en System.Web.Configuration.MachineKeySection.EncryptOrDecryptData

Tengo el requisito de agregarNOMBRE DE USUARIO a la URL en el lado del servidor usando el módulo URL Rewrite.

¿Por qué?: Tengo sitio websitio1, cuando el USUARIO inicia sesión en el sitio1, verá un enlace asitio2., Este enlace es URL o informes. (Cuadro). El ticket autenticado se ha creado usandoAutenticación de formulario en el sitio 1. CuandoUSUARIO hace clic en el enlace, autenticadonombre de usuario debe pasarse al sitio2.

Podría agregar un nombre de usuario desde el lado del cliente, pero debido a problemas de seguridad tengo que agregar el nombre de usuario a la URL en el lado del servidor antes de que se ejecute.

Así que decidí usar el proveedor de reescritura de URL, que toma elnombre de usuario descifrando el valor de la cookie como se muestra a continuación

     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 

Ejemplo:

        233AWJDKSHFHFDSHFJKDFDKJFHDKJFKDJFHDHFDHFKJHDFKJHDFJHDKJFHDSKJFHDF

Es un valor de cookie. Pero descifrar no está sucediendo

Me aparece el siguiente error

        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)

Aquí está mi configuración en IIS para reescribir URL

URL solicitada: coincide con los patronesUso: expresión regularIgnorar caso - MarcadoCondiciones: entrada: {HTTP_COOKIE} Tipo: coincide con el patrón de patrón:. *Tipo de acción: reescribirReescribir URL -http://11.155.011.123{HTTP_URL} & USERNAME = {PlatformAnalysisUrlProvider: {C: 0}}

También configuré MACHINE KEY como lo sugiere este foro

He referido esta publicación para desarrollo

Una de las publicaciones de desbordamiento de pila sugirió que podría tratarse de un problema de firewall o antivirus. Pero no tengo antivirus instalado o firwall habilitado.

Realmente ayuda si alguien me dirige amuestra de código donde se utiliza el sitio web alojado en IIS y el proveedor de reescritura de URL.

Actualización del registro de errores

Notificación MODULE_SET_RESPONSE_ERROR_STATUS - "PRE_BEGIN_REQUEST" HttpReason - "Error de módulo de reescritura de URL"

Actualización de publicación con información de clave de máquina

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

La razón puede ser - El sitio web donde se crean las cookies se desarrolla utilizando .NET Framework 4.5. El proveedor donde leemos la cookie es Framework 3.5. ¿Es esta la causa? O ¿Necesitamos un archivo de configuración para el proyecto del proveedor?

Actualizaciones - He agregado la clave de máquina a Machine.config, pero aún no funcionó :(

Solución alternativa

Agregue App.config a la biblioteca de clases

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

Copiar config a GAC Sigue este blog -http://techphile.blogspot.in/2007/02/2.html

Cifrar el valor (consulte aquí) y crear cookies personalizadas durante el inicio de sesión

Use la lógica de descifrado dentro del proveedor de reescritura personalizado

Respuestas a la pregunta(1)

Su respuesta a la pregunta