in

dotNet Umbria [DNU]

Il primo User Group in Umbria sul mondo .Net

Articoli

Articoli vari degli iscritti a DotNetUmbria

October 2008 - Posts

  • Provider personalizzato SqlMembershipProvider

    Salve a tutti,

    Dopo un paio di giorni di continue prove e ricerche sono riuscito a far funzionare l'autentazione Forms di ASP.NET in un dominio hostato da Aruba.it.

    Il problema era che la webapp non riusciva a richiamare in maniera corretta le SP presenti dentro il database, necessarie ai controlli di autentazioni "embeddati" in ASP.NET. Questo perchè il provider di autenticazione di default (SqlMembershipProvider) cerca di accedere agli oggetti del database specificando l'utente prima del nome dell'oggetto stesso (es. dbo.aspnet_CheckSchemaVersion()), e dato che in SQL Server che mette a disposizione Aruba non si hanno i diritti per accedere come DBO si rimane fregati.

    Girando sul WEB ho trovato che basta ricompilare il SqlMembershipProvider (sorgenti scaricabili dal sito Microsoft) togliendo il suffisso "dbo." ad ogni chiamata fatta ad un oggetto del DB. Ma questo non basta proprio del tutto...infatti anche su Aruba non funge: bisogna comunque chiamare gli oggetti con lo user proprietario del database (MSSqlxxxxx).

    Allora ho pensato (anche se non credo di essere stato il primo!!! ;-) ) di aggiungere l'attributo "DbUser" alla configurazione del provider, così che dichiarandolo nel web.config del sito è possibile accedere al DB con qualsiasi utente, senza per forza ricompilarsi ogni volta il Provider con uno user diverso.

    Non so se questo "problema" sia presente sono in Aruba oppure anche in altri gestori, però credo possa essere utile anche per altri scopi.

     

    Il link per il download del progetto lo trovate QUI!!!

     

    Ciao a Tutti.

     

     

    Franky

dotNet Umbria 2007-2008
Powered by Community Server (Commercial Edition), by Telligent Systems