Nessun pulsante Approva per il nuovo utente

Cosa mi sto perdendo? Un utente ha appena effettuato il login per la prima volta tramite WordPress SSO. Ho configurato il sistema in modo che siano richieste approvazioni. Dovrebbe apparire quell’opzione qui? Non ho idea di come approvare questo utente :frowning:

Ho la notifica nel menu di amministrazione che c’è un utente in attesa di approvazione.

Posso riprodurre questo problema se attivo sia SSO che l’impostazione del sito must approve users. Per approvare l’utente, fai clic sul suo nome utente nell’elemento di revisione:

Questo ti porterà alla pagina di amministrazione dell’utente:

Nella sezione Autorizzazioni della pagina di amministrazione dell’utente, fai clic sul pulsante Attiva account se l’utente non è ancora stato attivato:

Quindi fai clic sul pulsante Approva:

Questo dovrebbe approvare l’utente ed eliminare la notifica dalla tua coda di revisione.

Bene. È stato risolto, grazie. Quindi è previsto dal progetto? Non sono sicuro di capire come si inserisca il concetto di attivazione. Devo sia attivare che approvare ogni volta?

Penso che avere sia l’SSO che l’opzione “approva gli utenti” abilitata sia un caso limite. Non sono sicuro di come ci si aspetti che funzioni. Idealmente, quando l’SSO è abilitato, dovresti gestire l’approvazione degli utenti sul sito del provider SSO (WordPress). Purtroppo, questo richiede del codice personalizzato. Consulta How to prevent some WP users from being able to login to Discourse per i dettagli su come configurarlo.

Valuterò come ci si aspetta che funzioni l’approvazione degli utenti quando sono abilitati sia “approva gli utenti” che l’SSO. Farò rapporto qui se troverò qualcosa di degno di nota.

Grazie per l’ottima risposta, @simon. Non ho menzionato questo prima perché si basava semplicemente su un ricordo (che, nel mio caso, è sempre sospetto). Ma…

Ho appena fatto accedere un altro utente e ho subito avuto a disposizione l’opzione di approvazione, cioè non è stato necessario passare prima dalla fase di attivazione.

Quindi questo rimane piuttosto confuso per me. Non ho apportato alcuna modifica alla configurazione che possa spiegare perché il processo sia stato diverso tra le due ultime persone nuove. La confusione regna sovrana…

Ti farò sapere se scoprirò altro.

Grazie ancora.

Pensavo che non fosse consentito. L’host SSO è responsabile della gestione degli utenti. La mia comprensione è che, se hai bisogno che alcuni utenti con account SSO non abbiano accesso a Discourse, devi gestirlo tramite gruppi o in qualche modo negare l’accesso a Discourse.

Anche se abbiamo la stranezza di dover sia attivare che approvare alcuni utenti dopo che tentano di accedere, sembra che funzioni. Con le impostazioni attuali, l’amministratore deve approvare le richieste dopo che ogni utente tenta di accedere per la prima volta. Questo va bene (in un certo senso – vedi sotto), quindi le due impostazioni (utilizzare SSO e approvare gli utenti) sembrano a posto.

Detto questo, l’impossibilità di pre-approvare un gruppo di utenti prima che questi tentino il primo accesso è spiacevole e rappresenta un vero problema. Significa che l’utente deve attendere prima di poter accedere, anche se noi (amministratori) sappiamo già chi sono in anticipo.

Sospetto che @simon abbia ragione nel considerare questo un caso limite dal punto di vista di Discourse. Tuttavia, è piuttosto comune per i siti WooCommerce vendere sia prodotti regolari che abbonamenti. Mi trovo in questa situazione ed è uno scenario abbastanza frequente. Quindi i miei utenti sono divisi in due insiemi logici (e sovrapposti): clienti e membri. Vorrei poter pre-approvare la lista dei membri in modo che non debbano attendere l’approvazione. Potrei valutare di automatizzare questo processo in seguito, ma dovrà essere dopo il lancio del forum il 1° settembre, il che è un peccato.

Aha! Vuoi configurare WooCommerce per gestire quei gruppi su Discourse, invece di occuparti manualmente di quegli utenti su Discourse. Ci sono alcuni argomenti su come farlo. Richiede un po’ di codice personalizzato e sono disponibili alcuni esempi. Come riferimento, di solito chiedo da 1000 a 1500 dollari per questo servizio.

Grazie @pfaffman. Con un po’ di tempo posso probabilmente farlo da solo e ho già iniziato a fare ricerche. Per il lancio, stabilirò l’aspettativa che sia necessaria un’approvazione e cercherò di gestirla il più rapidamente possibile. Dopo il lancio verificherò se è possibile automatizzare questo processo in qualche modo.

Una precisazione riguardo alle mie aspettative per una soluzione completamente automatizzata.

Voglio evitare una soluzione in cui i non membri riescano effettivamente ad accedere al sistema, per poi essere bloccati nell’eseguire qualsiasi azione (magari perché non fanno parte di un gruppo relativo ai membri). Invece, se non sono membri, desidero che il loro accesso fallisca direttamente, preferibilmente con la possibilità di reindirizzarli a una pagina dove spiegare il motivo.

In altre parole, è preferibile bloccare l’accesso se non si è membri, piuttosto che permettere l’accesso e poi bloccare l’uso delle risorse.

Grazie ancora.

@simon Ho appena dedicato qualche minuto a cercare possibili soluzioni a questa sfida e mi sono imbattuto in te su questa pagina :slight_smile: WP Discourse – WordPress plugin | WordPress.org. Quindi, ho una domanda più specifica per te riguardo al plugin.

La mia attività ruota attorno a WordPress / WooCommerce e tutte le mie integrazioni tendono a utilizzare, quando possibile, dei tag per gestire gli utenti. WP Fusion è il collante che mette insieme tutto questo, ma il punto fondamentale è che ho dei tag su tutti gli utenti (che siano clienti, membri, ecc.).

Con questo contesto, ciò che mi piacerebbe poter fare è scrivere la mia funzione lato WordPress che implementa una certa logica (nel mio caso, semplice come verificare la presenza di un tag sull’utente) e rifiuta l’accesso se quel criterio non è soddisfatto.

A mente fredda, sai se esiste qualche hook che possa utilizzare per implementare questa logica? Sarebbe una soluzione fantastica e lascerebbe l’accesso ancora molto nelle mani di WordPress.

Grazie.

Sì, questo argomento descrive come fare ciò che stai cercando: How to prevent some WP users from being able to login to Discourse. Il secondo post nell’argomento contiene due funzioni di esempio che puoi utilizzare. Dovrai fornire il codice per sostituire il commento /* Una condizione che restituisce true se l'utente non soddisfa il requisito di appartenenza */ presente nell’esempio di codice.

Fantastico!! Credo di aver frainteso quell’argomento quando l’ho consultato in precedenza, ma sembra essere esattamente ciò di cui ho bisogno. In attesa dell’implementazione e dei test (parole famose!) penso di essere pronto!

Grazie.

Lo pensavo anch’io… e…

Te l’avevo detto! :wink:

Sono contento che tu sia sulla buona strada per risolvere la questione.

Infatti. Mi scuso per averlo perso, @pfaffman, e grazie per il tuo aiuto. Sto per configurare un VPS Discourse speculare per comunicare con il mio sito web speculare e, se tutto andrà bene, spero di averlo operativo a breve.