L'icona "Connesso" non viene visualizzata nell'area di notifica quando ci si connette a un'applicazione remota tramite Accesso Web Desktop remoto

Questo articolo fornisce una soluzione alternativa per un problema per cui l'icona Connesso non viene visualizzata nell'area di notifica quando ci si connette a un'applicazione remota tramite Accesso Web Desktop remoto.

Si applica a: Windows Server 2012 R2
Numero KB originale: 977507

Sintomi

Quando ci si connette a un'applicazione remota tramite Accesso Web Desktop remoto (Accesso Web Desktop remoto) in un computer che esegue Windows Server 2008 R2, l'icona Connesso non viene visualizzata nell'area di notifica.

Nota

Quando si esegue un'applicazione remota per la prima volta, l'icona Connesso viene visualizzata nell'area di notifica.

WebSSO (Web Single Sign On) non funziona come previsto, causando una "doppia richiesta" per le credenziali nelle applicazioni avviate tramite RemoteApps pubblicate tramite Accesso Web Desktop remoto in Windows Server 2008 R2.

Causa

Questo problema si verifica quando sono presenti più cookie non esposti nel computer client.

Soluzione alternativa

Per risolvere questo problema, eliminare i cookie.

Per eliminare i cookie in Windows Internet Explorer 8, seguire questa procedura:

  1. Fare clic sul pulsante Start, fare clic su Pannello di controllo, su Rete e Internet Connections e quindi su Opzioni Internet.
  2. Nella scheda Generale fare clic su Elimina.
  3. Per eliminare solo i cookie, fare clic per selezionare la casella di controllo Cookie e quindi fare clic per deselezionare tutte le altre caselle di controllo.
  4. Fare clic su Elimina. Un'altra opzione rispetto all'eliminazione dei cookie consiste nel modificare il file di script C:\windows\Web\RDWeb\Pages\renderscripts.js nel server Accesso Web Desktop remoto.

Per modificare il file di script C:\windows\Web\RDWeb\Pages\renderscripts.js, seguire questa procedura:

  1. Accedere al server Accesso Web Desktop remoto come membro nel gruppo Administrators locale.

  2. Passare al file jscript seguente, fare clic con il pulsante destro del mouse e scegliere Modifica.

    C:\windows\Web\RDWeb\Pages\renderscripts.js

  3. Trovare l'implementazione della funzione seguente nel file jscript. function getCookieContents(strNameOfCookie)

  4. Modificare i codici nel file jscript in modo che corrispondano ai seguenti:

    Codice esistente nel file Renderscripts.js:

    function getCookieContents(strNameOfCookie)
    {
        var objCookie;
        var objCookieName;
        var objCookieContents = null;
    
        if ( strNameOfCookie != null &&
        strNameOfCookie != "" &&
        document.cookie.length > 0 )
        {
            var objCookies = document.cookie.split(";");
            for (var iIndex = 0; iIndex < objCookies.length; iIndex++)
            {
                objCookie = objCookies[iIndex];
                objCookieName = objCookie.substring(0, strNameOfCookie.length);
            }
        }
    }
    

    Modificare la sezione precedente nel file Renderscripts.js in modo che corrisponda a quanto segue:

    // Add a function called trim as a method of the prototype
    // object of the String constructor.
    String.prototype.trim = function()
    {
        // Use a regular expression to replace leading and trailing
        // spaces with the empty string
        return this.replace(/(^\s*)|(\s*$)/g, "");
    }
    // End of the new-added function
    
    function getCookieContents(strNameOfCookie)
    {
        var objCookie;
        var objCookieName;
        var objCookieContents = null;
    
        if ( strNameOfCookie != null &&
        strNameOfCookie != "" &&
        document.cookie.length > 0 )
        {
            var objCookies = document.cookie.split(";");
            for (var iIndex = 0; iIndex < objCookies.length; iIndex++)
            {
                objCookie = objCookies[iIndex];
                objCookie = objCookie.trim(); //Calling the new-added function
                objCookieName = objCookie.substring(0, strNameOfCookie.length);
            }
        }
    }
    

Il problema è stato risolto?

Verificare se il problema è stato risolto. Se il problema è stato risolto, questa sezione è terminata. Se il problema non è stato risolto, è possibile contattare il supporto tecnico.

Ulteriori informazioni

Questo problema può verificarsi quando si verificano le condizioni seguenti:

  • Accesso Web Desktop remoto si trova in un sottodominio con un dominio padre.
  • Il dominio padre o qualsiasi altro sottodominio scrive un cookie con il dominio impostato sul livello di dominio padre. Questo comportamento condivide il cookie tra tutti i sottodomini.

Se Accesso Web Desktop remoto viene inserito a livello di dominio padre, l'icona di connessione viene visualizzata nell'area di notifica. Inoltre, la funzionalità Single Sign-On (SSO), l'applicazione remota e la connessione desktop funzionano come previsto quando ci si connette all'applicazione remota.

Inoltre, ciò può verificarsi quando sono presenti informazioni aggiuntive sui cookie contenute nel cookie presentato al client dal server Web.