Avatar billede jetsetter Nybegynder
04. oktober 2008 - 13:52 Der er 16 kommentarer og
1 løsning

login C#

Jeg skal lave en login til et website. Det skal være sikkert.

Jeg bruger MSSQL database og visual web dev.

Hvordan gør jeg det smartest?
Avatar billede jetsetter Nybegynder
04. oktober 2008 - 14:03 #1
Okay jeg har set at man nemt kan sætte login-forms ind vha Visual Web developer..

Og man kan administrerer via "Web administration tool". Men i hvilken database bliver data gemt? Hvordan gemmer man det sikkert i den database jeg bruger til resten af sitet?
Avatar billede arne_v Ekspert
04. oktober 2008 - 16:34 #2
Brug det indbyggede i ASP.NET !
Avatar billede 2c Nybegynder
04. oktober 2008 - 22:28 #3
For at oprette tabellerne som de indbyggede kontroller skal bruge skal du køre en fil der hedder: aspnet_regsql.exe. Derefter kan du pege på den database tabellerne skal oprettes.

På min PC lægger filen her: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe

For at pege på databasen skrives følgende i webconfig:

<remove name="LocalSqlServer"/>
        <add name="LocalSqlServer" connectionString="Server=xxx;UID=zzz;PWD=yyy;initial catalog=yyy"/>

Hvor din connection string skal være den samme, som den du bruger til resten af sitet.
Avatar billede jetsetter Nybegynder
05. oktober 2008 - 19:58 #4
Jeg har lige set en super tutorial omkring denne smarte login og det er jo super. Der var også instrukser om aspnet_regsql.exe, som jeg har implementeret i databasen.

Nu mangler jeg bare at få connectionstringen til at spille...

Skal jeg beholde den oprindelig connectionstring og bare tilføje det du skriver 2c ?

hvorfor skrives; <remove name="LocalSqlServer"/>
Avatar billede jetsetter Nybegynder
05. oktober 2008 - 20:01 #5
Den godtager ikke <remove>
Avatar billede jetsetter Nybegynder
05. oktober 2008 - 20:14 #6
Nu virker den, jeg har to connectionstrings, det er vel også det jeg skal bruge??

Nu er mit spørgsmål:

Jeg har allerede designet en tabel med brugerinformationer som jeg gerne vil have at brugeren indtaster ved oprettelse af en konto. Hvordan gør jeg det nemmest?
Avatar billede 2c Nybegynder
05. oktober 2008 - 20:31 #7
En mulighed: Du kan udvide createuserwizzarden med et ekstra skridt. Det er dog lidt besværligt, og jeg har ikke lige et eksempel på hvordan man gør.

Ellers kan du redirecte dem til en side efter at de er blevet oprettet, hvor de kan indtaste de ekstra informationer. Så kan du dog bare ikke være 100% sikker på at de udfylder dem.
Avatar billede jetsetter Nybegynder
05. oktober 2008 - 20:49 #8
Jeg har tænkt det samme, mit problem er at jeg ikke ved hvordan jeg skriver koden til det ekstra skridt i wisarden.

Så jeg hælder mere til at lave en ny side med "ekstrainfo", det problem du nævner burde kunne løses ved validering?

Hvordan gemmer jeg data?? Kan jeg udvide en af tabellerne som er automatisk oprettet af membershipprovideren, nej vel? det er vel bedre at lave et join til en ny tabel?
Avatar billede 2c Nybegynder
05. oktober 2008 - 20:58 #9
Jeg tror godt du kan udvide tabellerne(Men jeg ved det ikke).
Jeg har aldrig gjort det. Jeg laver altid en ekstra tabel med brugernavnet eller brugerID som nøgle til aspnet_Users tabellen.
Avatar billede jetsetter Nybegynder
05. oktober 2008 - 21:35 #10
Tænker på hvilken af de to som vil være den optimale løsning?

Måske det kan betale sig at sætte sig ind i at lave et ekstra step i wisarden, selvom en ny tabel og en ny side, vil være lige til at gå til.

Jeg har brug for at alle oplysninger bliver indtastet fra starten.
Avatar billede jetsetter Nybegynder
05. oktober 2008 - 21:41 #11
jeg fandt en Tutorial til at oprette et ekstra step i wisarden. Vender tilbage om den er brugbar..

http://aspnet.4guysfromrolla.com/articles/070506-1.aspx
Avatar billede jetsetter Nybegynder
07. oktober 2008 - 18:10 #12
Nu har jeg brugt 1½ dag på at få den udvidede login (med ekstra user info) til at virker. Og den virker så langt at programmet kører, men den gemmer ikke mine ekstra info i den nye tabel.

Nogle der har ideer til hvad der kan være galt?
Avatar billede jetsetter Nybegynder
07. oktober 2008 - 18:11 #13
<asp:SqlDataSource ID="InsertUserInfo" runat="server" ConnectionString="<%$ ConnectionStrings:ehlers_p2ploanConnectionString %>"
                        InsertCommand="INSERT INTO [kunde] ([UserId], [personnummer]) VALUES (@UserId, @personnummer)"
                  ProviderName="<%$ ConnectionStrings:ehlers_p2ploanConnectionString.ProviderName %>">
                      <InsertParameters>
                          <asp:ControlParameter Name="personnummer" Type="Int16" ControlID="personnummer"  />
                      </InsertParameters>
                    </asp:SqlDataSource>
Avatar billede jetsetter Nybegynder
07. oktober 2008 - 18:15 #14
protected void CreateUserWizard_CreatedUser(object sender, EventArgs e)
    {
        TextBox UserNameTextBox = (TextBox)CreateUserWizardStep.ContentTemplateContainer.FindControl("UserName");
        SqlDataSource DataSource = (SqlDataSource)CreateUserWizardStep.ContentTemplateContainer.FindControl("InsertUserInfo");

        MembershipUser User = Membership.GetUser(UserNameTextBox.Text);
        object UserGUID = User.ProviderUserKey;

        DataSource.InsertParameters.Add("UserId", UserGUID.ToString());
        DataSource.Insert();
    }
Avatar billede jetsetter Nybegynder
07. oktober 2008 - 19:27 #15
Anyone? JEg sætter gerne flere point i puljen ??? Har siddet fast i snart to dage.. please :)
Avatar billede jetsetter Nybegynder
07. oktober 2008 - 20:18 #16
Måske jeg bare skulle bruge PROFILE PROVIDER'en istedet  :)
Avatar billede jetsetter Nybegynder
07. oktober 2008 - 20:54 #17
...
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