Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908

    Login automatico dopo conferma account

    Utilizzo le Membership API e, per ogni nuovo account creato, invio una mail per effettuare l'attivazione. Ecco il codice che provvede ad attivare l'account:

    codice:
                if(!Page.IsPostBack)
                {
                    lblAccType.Text = hT.Value.ToString();
                    Guid oGuid = new Guid(Request.QueryString["tokenId"]);
                    MembershipUser oUser = Membership.GetUser(oGuid);
                    if(oUser != null && oUser.IsApproved == false)
                    {
                        oUser.IsApproved = true;
                        Membership.UpdateUser(oUser);
                        lblStatus.Text = "Complimenti " + "<b>" + oUser.UserName + "</b>"+ ", il tuo account è stato correttamente attivato! Verrai ora reindirizzato alla pagina d'accesso.";
                        Response.AddHeader("REFRESH", "5;URL=../Login.aspx");
                       
                       
                    }
                    else
                    {
                        
                        lblStatus.Text = "Abbiamo riscontrato dei problemi nella fase di attivazione, contatta la nostra assistenza.";
                    }
    
    
                    
                }
    Vorrei, invece che reindirizzare l'utente al form di Login, farlo loggare automaticamente, come mi consigliate di procedere?
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    dopo la funzione UpdateUser, invece di reindirizzarlo alla pagina di accesso, lo reindirizzi alla home (ora non so se l'identityPrincipal rimane quello, ma presumo di si)...

  3. #3
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da djciko Visualizza il messaggio
    dopo la funzione UpdateUser, invece di reindirizzarlo alla pagina di accesso, lo reindirizzi alla home (ora non so se l'identityPrincipal rimane quello, ma presumo di si)...
    Fin quì ci ero arrivato, ma vorrei far in modo di rendirizzarlo da utente già loggato, senza la necessità di autenticarsi.
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    con la formsAuthentication feci un trucchetto, se arrivava un codice in querystring assegnavo l'identita' ed il ruolo all'utente e facevo la RedirectFromLoginPage in automatico con lo username in oggetto.

    Con il membership non so se si puo' fare, mi spiace

  5. #5
    Utente di HTML.it L'avatar di dwb
    Registrato dal
    Mar 2001
    residenza
    My IDE! :)
    Messaggi
    2,908
    Quote Originariamente inviata da djciko Visualizza il messaggio
    con la formsAuthentication feci un trucchetto, se arrivava un codice in querystring assegnavo l'identita' ed il ruolo all'utente e facevo la RedirectFromLoginPage in automatico con lo username in oggetto.

    Con il membership non so se si puo' fare, mi spiace
    Se non trovo un workaround sono costretto a far fare il login all'utente dopo aver confermato l'account.
    ~Il nome di una variabile deve riflettere il suo scopo e non il suo tipo di dati, NET Framework.

  6. #6
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,886
    l'authentication mode nel web config come e' settato ?

    se non c'e', prova a settarlo cosi:

    codice:
    <system.web>
        <authentication mode="Forms">
          <forms loginUrl="Login.aspx" />
        </authentication>
    
        <authorization>
          <deny users="?" />
        </authorization>

    e nella pagina Login.aspx:

    codice:
    // Nel link della mail hai passato un parametro "auth_key" ad un valore che vuoi
    if (Request.QueryString["auth_key"] != String.Empty) 
    {
           //recuperi NomeUtente in qualche modo - magari passando l'id nel link 
           FormsAuthentication.RedirectFromLoginPage(NomeUtente, true); 
    }

    in questo caso usavo un RoleProvider e funzionava.. prova
    Ultima modifica di djciko; 26-05-2017 a 16:16

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.