Domanda

Sto usando l'app di esempio ASP.net mvc e l'ho ampliata un po '. Uso l'iscrizione asp.net per l'accesso e la registrazione per gli utenti.

Ora voglio cambiarlo in modo che quando le persone si registrano, invece di essere immediatamente in grado di accedere, vada in uno stato in cui un amministratore deve approvarlo. Una volta ottenuta l'approvazione, possono accedere.

Esiste qualcosa incorporato nelle cose di appartenenza ad asp.net che mi aiuterà a farlo o devo codificarlo da zero usando la mia implementazione?

Ho alcune idee e non penso che si tratti di scienza missilistica, ma non voglio reinventare la ruota in quanto voglio spedirla al più presto.

È stato utile?

Soluzione

La classe MembershipUser ha una proprietà IsApproved. È possibile impostarlo su false quando si crea un nuovo utente e quindi impostarlo su true quando l'amministratore approva l'utente. Devi chiamare il metodo Membershi.UpdateUser (utente) dopo aver impostato la proprietà.

Altri suggerimenti

Ecco del codice per creare una raccolta di utenti non approvati che può essere utilizzata come origine dati di un controllo dati come GridView , DataList o Ripetitore :

MembershipUserCollection users = Membership.GetAllUsers();

MembershipUserCollection unapprovedUsers = new MembershipUserCollection();

foreach (MembershipUser u in users)
{
    if (!u.IsApproved)
        unapprovedUsers.Add(u);
}

La classe MembershipUser ha un IsApproved e durante la creazione dell'utente è possibile utilizzare uno dei sovraccarichi dell'abbonamento. CreateUser che consente di impostare quel flag. Purtroppo non esiste un modo semplice per dire " Mostrami tutti gli utenti che non sono ancora stati convalidati " ;.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top