[ almisa @ 21.12.2006. 17:25 ] @
Hteo bih da napravim web aplikaciju u kojoj cu koristiti gotovu kontrolu Login za logovanje (koja se recimo nalazi na stranici Login.aspx) s tim sto ce ona koristiti moju MSSQL 2005 bazu a ne gotovu ASPNETDB.MDF bazu. Znaci hteo bih da napravim moju MSSQL 2005 bazu koja ce imati pored ostalih i jednu tabelu Clanovi u kojoj ce se nalaziti polja poput Imena, Prezimena, Adrese... i naravno polja username i password iz kojih ce Login kontrola citati vrednosti prilikom pokusja logovanja, tj. proveravati da li korisnik postoji u mojoj bazi u tabeli Clanovi.

Znam da Web.Config datoteca treba da izgleda otprilike ovako:

Code:

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=MySqlServer;Integrated Security=SSPI;Initial Catalog=mojabaza;" />
  </connectionStrings>
  <system.web>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
      <providers>
        <remove name="AspNetSqlProvider" />
        <add name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          passwordFormat="Hashed"
          applicationName="/" />
      </providers>
    </membership>
  </system.web>
</configuration>


Tareba takodje dodati klasu u App_Code direktorijum, ali ne znam kako to da uradim i kako reci login kontroli u kojoj tabeli i u koja polja se nalaze username i password.
[ Dejan Vesic @ 21.12.2006. 19:46 ] @
http://blogs.msdn.com/msdnts/a...nt-out-of-asp-net-context.aspx
[ bobanM @ 22.12.2006. 11:17 ] @
Pozdrav,

ono sto treba da uradis je da kreiras custom provider tj. klasu koja ce biti nasledjena iz MembershipProvider abstraktne klase. Nakon toga ces morati da implementiras sve metode iz pomenute klase i na kraju da definises custom provajder u config fajlu.

http://msdn2.microsoft.com/en-us/library/6tc47t75.aspx

Primer implementacije custom provajdera ali za Access bazu, sto ne bi trebalo da predstavlja problem da ga izmenis.

http://msdn2.microsoft.com/en-us/library/44w5aswa(VS.80).aspx

Primer kako da konfigurises web.config
[ almisa @ 28.12.2006. 18:29 ] @
Nisu pomogli ovi linkovi, javlja da ne postoji neka uskladistena procedura, kojih ja u svojoj bazi i nemam ali ih takodje nigde i ne pozivam. Stvarno sam probao svasta i nista mi ne uspeva. Da li neko ima konkretan primer u c# koji mogu odmah da testiram i vidim kako se to radi?
[ VerbatimBOT @ 29.12.2006. 08:42 ] @
Nemoj džabe pisati novi Membership, iskoristi postojeći (ASP.NET-ov), samo mu promeni konekcioni string da gađa bazu na sql serveru.
Code:

<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
  <connectionStrings>
    <add name="MySqlConnection" connectionString="Server=(local);Database=myDatabase;Integrated Security=TRUE"/>
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="login.aspx"
        name=".ASPXFORMSAUTH" />
    </authentication>
    <membership defaultProvider="myProvider" userIsOnlineTimeWindow="15">
      <providers>
        <clear />
        <add
          name="myProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="MySqlConnection"
          applicationName="myApplicationName"
          enablePasswordRetrieval="false"
          enablePasswordReset="true"
          requiresQuestionAndAnswer="true"
          requiresUniqueEmail="true"
          passwordFormat="Hashed" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="myRoleProvider">
      <providers>
        <add name="myRoleProvider" connectionStringName="MySqlConnection" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

Pre nego što budeš mogao da koristiš ovaj Provider, potrebno je da u željenoj bazi izgenerišeš tabele. To radiš preko programčića aspnet_regsql.exe koji ti se nalazi u framework direktorijumu unutar windows direktorijuma.
I to je to!