Avatar billede haolan Nybegynder
25. november 2007 - 01:14 Der 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.
Avatar billede torotune Nybegynder
25. november 2007 - 23:24 #1
Hvad er problemet med den indbyggede CreateUserWizard-control? Den er da lige til at gå til :-)
Avatar billede haolan Nybegynder
26. november 2007 - 17:40 #2
Den er ikke lige til at gå til hvis man gerne vil have flere attributter på når man opretter en bruger :)
Avatar billede keysersoze Guru
26. november 2007 - 19:05 #3
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
Avatar billede haolan Nybegynder
28. november 2007 - 20:32 #4
Jeg kan stadig ikke overskue den kode du sender i det link.

Hvad skal jeg ligge hvor og hvordan? :S Jeg er helt lost i det der...
Avatar billede neoman Novice
28. november 2007 - 20:42 #5
Jeg tror du må vælge:

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.
Avatar billede haolan Nybegynder
28. november 2007 - 20:45 #6
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

Hvad gør jeg galt?
Avatar billede neoman Novice
28. november 2007 - 20:51 #7
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
Avatar billede haolan Nybegynder
28. november 2007 - 21:02 #8
Hmm det lader ikke til at jeg kan overskrive CreateUser og have nye attributter med :S Så jeg kan ikke rigtig se hvad det nytter..
Avatar billede keysersoze Guru
29. november 2007 - 19:10 #9
Det bør ikke være noget problem at overskrive CreateUser - det er netop hvad der også sker på mit msdn2-link.
Avatar billede haolan Nybegynder
29. november 2007 - 21:59 #10
hmm..

Hvis jeg overrider CreateUser forventer den at få præcis de samme input, som den har i forvejen, så jeg kan ikke tage nye argumenter med ned.

Gætter på jeg gør et eller andet forkert, men ud fra de eksempler kan jeg ikke se hvad, for der bruger de alligevel bare de samme inputs.
Avatar billede keysersoze Guru
29. november 2007 - 22:51 #11
det kunne lyde lidt som om du måske overrider eller kalder en forkert klasse - men det er svært at se uden den større sammenhæng.

MS eksemplerne er sjældent de bedste - så hvis du bliver ved med at sidde fast så tag evt en tur ud på google og se hvad andre har gjort.
Avatar billede haolan Nybegynder
02. december 2007 - 23:25 #12
Hmm jeg er ikke rigtigt kommet videre af at søge på google..

Jeg fatter ikke en meter af disse funktioner.. Så nu er jeg begyndt at udvikle min egen provider..

Måske er det fordi jeg er vant til PHP.. Hvem ved..
Avatar billede haolan Nybegynder
16. marts 2008 - 18:50 #13
Kom ikke videre med det her membershipværk.. Har kodet mit eget, hvilket fungere meget bedre til mine behov.. ;)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester