2012-11-13 16 views
5

Ho bisogno di assegnare ruoli (incluso il ruolo Membro), membri e cartelle utente a determinati utenti OpenID prima di per prima cosa accedere al mio sito Plone. Cioè, ho bisogno di aggiungere programmaticamente gli utenti OpenID al mio sito Plone. portal_registration.addMember non può aggiungere un utente OpenID. plone.openid ha il proprio plugin PAS che non crea oggetti membro. Cosa faccio che è replicabile in un setuphandler? Il solito modo per farlo è quello di accedere manualmente all'utente OpenID, quindi aggiungere ruoli, membri registrati e condivisione dopo l'accesso. Comunque, quella storia utente non è replicabile a livello di codice.Come aggiungere gli utenti OpenID a Plone Site

risposta

0

L'unica cosa che dovrebbe importare è l'ID utente generato per ciascun utente. Dovrebbe essere possibile creare in anticipo membri regolari con gli ID utente che corrispondono agli url di identità id aperti, assegnando loro ruoli e quindi utilizzare openid (solo) come metodo di autenticazione alternativo per quegli utenti.

Aggiornamento: Come Chris ha commentato di seguito, non è possibile aggiungere gli utenti con i loro URL, id attraverso Plone interfaccia utente, ma devono essere creati direttamente nella cartella Utenti PAS attraverso ZMI (Zope Management Interface).

+0

Supponiamo di avere ServiceX con account utente preconfigurati (privilegi specifici dell'app e diritti di accesso per la visualizzazione in posizione). Qual è il nome utente/openid_key/qualunque cosa dovrei chiedere agli utenti di inviarmi? Quindi collego l'account di servizio preconfigurato a quell'account OpenID. Dite che gli utenti usano il provider OpenID di Google o Yahoo? I provider OpenID restituiscono l'indirizzo e-mail in modo da poter collegare l'account preconfigurato? – Whome

+0

Ho paura che la risposta sia no. L'attuale implementazione OpenID predefinita in Plone assegna semplicemente l'URL di identità OpenID come id utente. E quell'URL non può contenere indirizzi email ed è diverso per ogni provider. Per supportarlo, plone.openid dovrebbe essere aggiornato per supportare l'estensione OpenID Attribute Exchange. –

+0

Avevo provato a creare membri dagli URL OpenID ma gli URL contengono caratteri che non sono validi negli userid. Come detto nella domanda, portal_registration.addMember non accetta un URL per un ID utente. Apprezzo qualcuno alla fine rispondere. Ma non trovando una risposta mentre stavo lavorando all'applicazione che richiedeva questo due anni fa, ho abbandonato l'uso di plone.openid e ora sono in un altro lavoro. È tutto chiaro come OpenID è morto, il provider OpenID che stavamo usando è collassato, e il prossimo plone.login supporterà OAuth. Tuttavia, il modo in cui legherà le autorizzazioni di OAuth agli oggetti membri è un'altra questione. –