25. november 2007 - 01:14Der er
12 kommentarer og 1 løsning
Lave en ny Loginprovider
Hej
Jeg er ved at udvikle et brugersystem i ASP.NET2
Det er første gang jeg laver en side i ASP, Jeg udvikler normalt kun i PHP.
Jeg har forsøgt mig lidt med at lave en createUserWizard og de værktøjer der nu er til formålet.
Idéen bag dette værktøj er god nok. Men at det er så f... besværligt at arbejde med gør at jeg mener det må være nemmere at udvikle et brugersystem selv end at bruge det der ligger i ASP.NET2
Jeg har forsøgt mig med at udvikle min egen opret bruger wizard, men jeg aner ikke hvordan jeg skal lave, så jeg kan skifte imellem steps, jeg har derfor forsøgt mig med at bruge den wizard der ligger i ASP.NET2 i håb om at jeg så kunne konfigurere den selv.
Jeg kan sagtens opstille den med de informationer jeg vil have fra brugeren og alt det der, men at gemme dataene præcis i den database jeg vil have det liggende i og med de oplysninger jeg skal bruge er åbenbart et større projekt.
Hvad vil være nemmest for mig?
At lave en ny provider til ASP's createUserWizard? og i så faldt hvordan?
Eller at lave noget selv? Og i så faldt, hvordan laver jeg en createUserWizard ligesom den der ligger i .NET?
Det skal siges at der skal være to forskellige måder brugerne kan melde sig ind på. Den ene måde vil betyde at der skal oprettes rækker i flere tabeller samtidig og den anden måde vil betyde der kun skal oprettes i én tabel.
jeg tror uden tvivl at der er betydelig mere arbejde i at lave sin egen end at nedarve fra den eksisterende og bare tilføje de ekstra ting samt omskrive fx insert-delen. Har du kigget på denne; http://msdn2.microsoft.com/en-us/library/ms366730.aspx
1. Lav din egen provider som keysersoze siger 2. Brug den almindelige wizard, som du selv begyndte på, og gem de data som du har lyst hvor du har lyst. Hvis du har problemer med at snakke med db'en så er der ingen vej udenom at finde ud af hvordan man gør 3. Find på noget simplere og brug den indbyggede CreateUserWizard AS IS. Du kan bruge Profile-tingen til selv at definere og gemme info vedr. en bruger.
Jeg forsøgt at lave en simpel lille en for at finde ud af det:
public class NewMembershipProvider : MembershipProvider { public NewMembershipProvider() { // // TODO: Add constructor logic here // }
public override MembershipUser CreateUser(string username, string password, int klanid) { SqlConnection conn = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand("INSERT INTO hk_users " + " (id, loginnavn, password, refid) VALUES ('" + username + "', '" + password + "', " + refid + ")", conn); } }
Men med denne for jeg en million fejl, fordi jeg ikke tager en masse funktioner med, såsom countOnline users og hvad de nu ellers hedder alle sammen.. Disse har jeg ikke en hat at bruge til, så hvorfor skal jeg overskrive dem? :S
samtidig lader det ikke til den er helt tilfreds med at overskrive CreateUser.. Den skriver:
Error 1 'NewMembershipProvider.CreateUser(string, string, int)': der blev ikke fundet nogen metode, der kan tilsidesættes
Du kan se hvordan den indbyggede website administration værktøj, som bruger Membership og Roles , er opbygget, ved at kigge i c:\<Windows folder>\Microsoft.NET\Framework\v2.0.xxxxx\ASP.NETWebAdminFiles
Kom ikke videre med det her membershipværk.. Har kodet mit eget, hvilket fungere meget bedre til mine behov.. ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.