Avatar billede davidfossil Nybegynder
22. februar 2005 - 08:49 Der er 45 kommentarer og
3 løsninger

Login/pass til MSDE

Hvilke user accounts findes der som udgangspunkt i en MS SQL (MSDE) database?
Har lige installeret MSDE for første gang, og prøver at få forbindelse til databasen med programmet SQL Buddy.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 08:51 #1
sa findes... Normalt når du installere din MSDE gør du det fra en promt, og her har du sat en parameter på, som giver din sa et password...
Avatar billede arne_v Ekspert
22. februar 2005 - 08:54 #2
Normalt kører man nok med integerret/windows security.
Avatar billede davidfossil Nybegynder
22. februar 2005 - 08:54 #3
Hmm, det havde jeg faktisk også forsøgt.
Jeg går ud fra at jeg bare skal connecte til localhost ?
Ved du hvilken port serveren lytter på?
Avatar billede arne_v Ekspert
22. februar 2005 - 08:57 #4
default er 1433

men bruger du windoswws security eller sqlserver security ?

(default er integreret)

Og hvordan connecter du ?
Avatar billede davidfossil Nybegynder
22. februar 2005 - 08:57 #5
Ohh - nu tror jeg at jeg har den.
Man skal tilsyneladende bruge computerens netværksnavn som IP.

Smid et svar :)
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 08:57 #6
Afsnit 3.4.4 fra readme filen til MSDE:

To install a default instance configured to use Windows Authentication Mode, execute:

setup SAPWD="AStrongSAPwd"

Her angives der stadigvæk et sa password, selv om den skal bruge integerret/windows security.
Avatar billede davidfossil Nybegynder
22. februar 2005 - 08:58 #7
Ehm, hvad er forskellen på de to?
Jeg har ikke selv valgt nogen af delene, er det et problem?
Serveren skal bruges til testing på en ASP.NET applikation.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:01 #8
Jeg ville personligt bruge Sql server security, hvis det er til en ASP.NET applikation.

Forskellen er at windows security "læser" den bruger du er logget ind med på din maskine, og giver adgang ud fra det.

Sql Server security, der skal man oprette login, og user inde i selve databasen, og så giver den adgang ud fra det. På den måde har din windows login intet med din sql server forbindelse at gøre.
Avatar billede arne_v Ekspert
22. februar 2005 - 09:02 #9
SQLServer security => du opretter logins i SQLServer

Windows security => SQLServer bruger dit Windows login
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:03 #10
Det sidste er ikke helt korrekt. Fra ASP.NET kan der bruges to Windows Login alt efter, om ASP.NET kører på Windows 2003 Server eller ikke.

På Windows 2003 Server bruger ASP.NET kontoen "NT Autority\Network Service", og på andre bruges kontoen "Server\ASPNET"
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:03 #11
Arne, Du skal stadig tilføje dit windows login til SQL Server med mindre, at din windows konto er medlem af SQL Serverens Windows Administrator gruppe.
Avatar billede arne_v Ekspert
22. februar 2005 - 09:03 #12
Default installeres den kun med support for windows security.

Man skal angive SecurityMode=Mixed i for få support for begge.
Avatar billede davidfossil Nybegynder
22. februar 2005 - 09:04 #13
Hvis jeg skal kunne connecte fra ASP.NET, bør jeg vel så bruge SQL-security, eller kan det lade sig gøre med Windows security?
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:06 #14
Det er måske korrekt, det ved jeg slet ikke nok om :) Men jeg er bare meget overbevist om at han kan logge ind med sin sa, selv om sql serveren står til windows.

Ellers vil man kunne ende med at blive låst ude af sin egen sql server, hvis man løber ind i problemer med sit login. Men jeg ved det ikke, har bare lige læst mig igennem readme, og faldt netop over det med at man skulle angive sa password, selvom man ville have windows security.
Avatar billede arne_v Ekspert
22. februar 2005 - 09:06 #15
benny>

IIS kan så vidt jeg ved køre i 2 modes:
  - en mode hvor det er database client brugernavnet der bruges og da det er
    ASP.NET som er database client så er det selvfølgelig dets brugernavn der
    bruges
  - en mode hvor slut brugeren impersonates (det ligger udenfor min IIS viden)
Avatar billede arne_v Ekspert
22. februar 2005 - 09:07 #16
Jeg tror at Windows security er mest normalt med ASP.NET
Avatar billede arne_v Ekspert
22. februar 2005 - 09:07 #17
Hvis SQLServer security (mixed mode) ikke er enabled mener jeg ikke at man
kan logge ind med sa. Så det at kontoen eksisterer og at man har sat
password hjælper ikke meget.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:08 #18
Arne> Kommer det ikke an på om ens sql server ligger på samme maskine som der hvor ens ASP.NET side ligger?

Men vil ikke blande mig, har kun personlige erfarringer at tale med ud fra. De steder hvor jeg har lavet ASP.NET og sql, har vi altid haft en sql login. Sikkerhed har altid været vores store grund til at have sql logins.
Avatar billede arne_v Ekspert
22. februar 2005 - 09:08 #19
re 09:03:44)

Snakker du login eller user her ? Man skal selvfølgelig tilføje user, men jeg
troede faktisk ikke at man skulle tilføje login.
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:09 #20
De IIS, jeg har arbejdet med, har ikke kørt med impersonation.

party_dog > sa password skal angives for at sikre SQL Serveren mod angreb som Slammer. Det er et rent sikkerhedsspørgsmål, at du skal angive det. Bortset fra det, så vil serverens Windows administratorgruppe have adgang - med mindre det login er fjernet fra SQL Serveren.
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:09 #21
Arne, ja, jeg snakker login. Du skal tilføje login OG give det login adgang til databasen (user).
Avatar billede davidfossil Nybegynder
22. februar 2005 - 09:11 #22
Anyway - jeg kan finde ud af at logge på med mit client program (med brug af Windows security).
Når I er færdige med jeres tekniske diskussion, må I gerne smide nogle svar så I kan få points :o)

(I må da også gerne lige kaste en hurtig connection string som jeg kan bruge fra ASP.NET...)
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:12 #23
benny> Det kan jeg godt se, nu hvor du nævner det. Så tager jeg mine udtalelser til mig,  og har endnu engang lært noget nyt. Det er altid dejligt at have en god diskution med folk herinde. :)

Men stadigvæk holder jeg på at man burde bruge sql logins, når man laver ASP.NET, da man skal prøve på at begrænse brugeren så meget som muligt.
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:17 #24
party_dog > Du begrænser faktisk også brugeren mest muligt ved at bruge Windows login med ASP.NET, da det ikke er en bruger, men en process, der står som login. Ved kun at give dbaccess til Administrator gruppen og ASP.NET processens login er alle andre spærret af fra databasen.
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:18 #25
svar
Avatar billede arne_v Ekspert
22. februar 2005 - 09:18 #26
Man kan godt connecte fra ASP.NET til en MSDE på en anden maskine med Windows
security hvis de er sat rigtigt op.
Avatar billede arne_v Ekspert
22. februar 2005 - 09:19 #27
SqlConnection con = new SqlConnection("server=ARNEPC2;Integrated Security=SSPI;database=Test");
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:19 #28
Benny> nu tænker jeg inde i selve sql serveren. Så brugeren kun får adgang til selve den database som han skal bruge. Hvis vi begrænser på processen, vil de have fuld adgang til hele sql serveren.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:21 #29
data source=SERVERNAVN;initial catalog=DATABASENAVN;password=LOGINPASSWORD;persist security info=True;user id=LOGINNAVN;packet size=4096

er også en mulighed, hvis du vil bruge sql logins ;)
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:21 #30
Hvordan vil de få det? De er jo ikke logget ind på SQL Serveren - det er processen, der er logget ind.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:24 #31
Jamen... Hvis vi snakker om rettigheder inde på selve sql serveren, så har du givet ASP.NET processen rettigheder til at logge ind så selve sql serveren, er vi enige om det?
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:26 #32
Ja, men den har jo ikke SA rettigheder. Desuden skal du specifikt give adgang til databaser.
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:27 #33
Ved at logge ind som SA, så kan du lave ballade, da du derved har FULD adgang til SQL serveren inklusive de rigtig grimme ting.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:28 #34
Hvis vi nu siger du har 2 ASP.NET sider, som bruger hver deres database, på den samme server. Hvordan vil du så ud fra at du har givet ASP.NET adgang til sql serveren, begrænse de 2 sider til hver deres database, når deres rettigheder ligger helt ude på at det bare er ASP.NET som har adgang?
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:29 #35
Jeg ville aldrig logge ind som sa fra en webside, det eneste jeg prøvede på i starten, var at hjælpe david ind, så han kunne starte op, og se om det virkede...
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:30 #36
Det ville jeg så bruge connection string til, da connection string IMHO aldrig må kunne redigeres fra brugersiden. Du angiver jo databasen i connectionstring.
Avatar billede arne_v Ekspert
22. februar 2005 - 09:34 #37
Man har vel fuld adgang til at restricte brugeres adgang til hvad som helst uanset om de er logget ind med windows eller SQLServer sceurity.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:34 #38
Ja, med det argument kan jeg godt se hvordan du laver det.... :) Igen har jeg lært noget nyt.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:37 #39
re 09:34:54

Stiller du det som et spørgsmål? :)
Avatar billede bennytordrup Nybegynder
22. februar 2005 - 09:37 #40
Arne, ja, det er jo kun et spørgsmål, om at tildele rettigheder. Men jeg har set eksempler på brug af sa-login til mange ting (gys)
Avatar billede arne_v Ekspert
22. februar 2005 - 09:38 #41
"retorisk spørgsmål"
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 09:39 #42
Arne> okay :-) Jeg vil ikke blande mig mere, håber I alle sammen får en god dag :-) Tak for snakken.

David> Håber ikke vi har kørt den for vidt, skriv hvis du har problemer igen, så er jeg sikker på at vi alle kan blive enige om noget som du kan bruge til noget :-)
Avatar billede davidfossil Nybegynder
22. februar 2005 - 14:54 #43
Hehe - Jeg synes det har været spændende at læse jeres diskussion, selvom I hvis mest taler forbi hinanden.
Selv har jeg en del erfaring med databaseservere, og kender godt til sikkerhedsproblematikken. Jeg har bare ikke tidligere benyttet mig af MS SQL :)

Anyways - jeg tror jeg ender med at geninstallere med SQL security, da jeg synes det giver mest mening i forhold til det jeg roder med, selvom jeg sagtens kan se at Windows security i mange tilfælde vil være smartere.

Smider I andre (arne og party) ikke også lige et svar?
Så kan jeg dele lidt points ud... :)
Avatar billede arne_v Ekspert
22. februar 2005 - 15:29 #44
svar
Avatar billede arne_v Ekspert
22. februar 2005 - 15:31 #45
Hvis du ændrer

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\xxxxxx\MSSQLServer\LoginMode

fra 1 til 2 og genstarter så skulle det være fixet.
Avatar billede arne_v Ekspert
22. februar 2005 - 15:31 #46
Der er også en pæn måde at gøre det på, men den kan jeg ikke lige huske.
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 15:43 #47
Hvis du synes :)
Avatar billede the_party_dog Nybegynder
22. februar 2005 - 15:44 #48
david> I henhold til at vi taler forbi hinanden, sådan vil det altid være, fordi man tænker i andre baner. Det er jo det som er dejligt, at man kan lære at tænke i nye baner, og retninger :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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