Rights Non Ne Vuole Sapere

Ho installato user e rights seguendo questa guida :

http://www.programmandofacile.it/tutorial-yii-users-e-rights/

User funziona mentre quando cerco di installare rights ho questo errore :


 Application web user must extend the RWebUser class. 

Inoltre domando una cosa , nel db sono presenti 3 tabelle , per utilizzare user sono obbligatorie o posso usare una sola tabella user senza profiles e profiles_field?

Come dice l’errore, devi utilizzare RWebUser. Nel file di configurazione devi specificare che il modulo user deve usare come classe RWebUser.

le altre due tabelle di supporto servono per memorizzare le altre informazioni sull’utente, se non ricordo male cognome e nome li memorizza in profiles, mentre l’altra entità profiles_field serve a tutta l’area che ti permette di gestire ed aggiungere tutti i campi che ti servono in più alle form utente.

Nel config.main ho:




'user'=>array(

      'class' => 'RWebUser',                    

      'allowAutoLogin'=>true, 

),



Non basta questo ?

Quindi se io volessi utilizzare una table user composta da:

Nome,Cognome,Indirizzo,città,cap,email,username ,password ,admin,registrato.

Dovrei eliminare i campi nome e cognome e metterli in una tabella tbl_profiles?

L’altra tabella tbl_profiles_fields come dovrebbe essere strutturata?

magari ti sei dimenticato nel config/main.php

[code]

‘import’=>array(

	'application.models.*',


	'application.components.*',


	'application.modules.user.models.*',


	'application.modules.user.components.*',


	'application.modules.rights.*',


	'application.modules.rights.components.*',


),

[/]

per quanto riguarda le tabelle accessorie di cui ti dicevo, guardati un pò il codice,e prova a fare degli insert e vedrai come salva i dati il modulo user.

Praticamente c’è la tabella principale:users dove si salvano i campi principali.

Poi una tabella secondaria profiles: dove vengono salvati i dati anagrafici.

e poi profiles_field: è una tabella dove vengono salvati i nuovi tipi di dato che si vuole aggiungere all’entità utente. Tutto questo dovrebbe anche funzionare da interfaccia grafica.

Ad esempio facciamo che al tuo utente vuoi chiedere il numero di telefono,

Aggiungi un nuovo campo profilo, di tipo testuale, di lunghezza 30 -> questo lo salverà in profiles_field.

Per quanto riguarda user dovrei avere risolto , inoltre per completezza nel campo required della tabella tbl_profiles_fields

nel campo required ,con 1 si inseriscono campi che sono obbligatori in fase di registrazione , mentre se si vuol far vedere il campo in fase di registrazione ma non si vuole che sia obbligatorio bisogna mettere il 2.

Risolto questo ho :

RWebUser and its behaviors do not have a method or closure named "updateSession".

RWebUser non ha il metodo updateSession che utilizza il modulo user al momento del login,

hai due strade:

-copiare updateSession da user/componenents/WebUser in RWebUser

-oppure RWebUser extend WebUser in rights/componenents/RWebUser




class RWebUser extends WebUser



Riattivo questo topic perchè ho lo stesso problema e nessuna delle due strade consigliate risulta funzionante.

Ho trovato una parte del problema , senza però risolverlo , nel config.main ho :



'user'=>array(


			// enable cookie-based authentication


			'allowAutoLogin'=>true,


			'loginUrl' => array('/user/login'),


			'class'=>'WebUser'


		),

Se cambio ‘class’=>‘WebUser’ con RwebUser non ho l’errore e vengo reindirizzato al login che non posso però effettuare…

ci dai pochi dettagli per poterti venire in aiuto.

la classe è RWebUser e così va scritta anche nel main

poi facci sapere che tipo di errore ti da la form di login

Mancava una virgola nel config.main ora funziona…scusate…