95 messaggi dal 04 luglio 2008
Salve a tutti!
Sto lavorando ad un progetto che prevede tre tipi di ruoli: Admin, Register, Basic.
Ho settato, con l'utilizzo del wizard di .NET, le cartelle dove possono accedere solo Admin, solo Register, ecc........
Il problema nasce perchè l'applicazione fa uso di un web service dove vengono salvati gli utenti, in poche parole io non ho il db degli utenti.
Ho visto che abilitando l'utilizzo di ruoli, .NET mi ha aggiunto un web.config in ogni cartella e nel momento che effettuo il login, effettuo un'operazione del genere: Roles.AddUserToRole(txtUsername.Text.Trim(), "UserRegistered");. Ho visto che viene creata una entry nella tabella che .Net utilizza per tenere traccia degli utenti, ma se provo ad accedere alla cartella dove sono presenti le pagine che possono accederci solo gli utenti registrati, vengo rispedito nella pagina impostata nel web.config come loginUrl.
Quindi come faccio ad implementare questo meccanismo in modo che funzioni correttamente? Devo necessariamente salvare tutti gli utenti in locale nel db che crea ad hoc .net? O devo creare ogni volta un MemberShipUser?

Grazie e spero che sia riuscito a rendervi l'idea.

Ciao
così come stai facendo ora, stai utilizzando il provider per l'autenticazione che ASP.NET ti offre di default.
nel tuo caso invece, a fronte della presenza di un web service per la gestione degli utenti, ti devi scrivere un provider di membership e di role personalizzato.

leggiti questi:
http://www.aspitalia.com/articoli/asp.net2/membership_provider.aspx

Marchi Giuseppe
http://www.peppedotnet.it
95 messaggi dal 04 luglio 2008
Ciao, grazie della risposta. Infatti c'era qualcosa che non mi quadrava :), sono riuscito a far funzionare il meccanismo.
Ora però vorrei chiedere un'altra cosa....
Nello stesso progetto è presente anche una cartella admin e deve essere raggiungibile tramite www.nomesito.it/admin/ ma che ha una gestione degli utenti separata dall'applicazione, nello specifico è presente un solo utente admin salvato sul db che ha creato direttamente il gestore .net.
Ho pensato che per fare una cosa del genere devo impostare su IIS una directory virtuale che punta alla cartella admin, ma non mi permette di riscrivere completamente il web.config. Mi viene visualizzato l'errore "Non è possibile utilizzare una sezione registrata come allowDefinition='MachineToApplication' al di sotto del livello di applicazione. L'errore può essere dovuto alla presenza di una directory virtuale non configurata come applicazione in IIS. " anche se ho impostato la directory virtuale.....

Come devo fare?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.