Avatar billede disco_keld Nybegynder
01. juni 2003 - 16:21 Der er 17 kommentarer og
2 løsninger

Integrated Security=SSPI hvordan? hundrede points til hjælperen

Hejsa....

Jeg skal have Integrated Security til at fungere med min SQL SERVER 2000 så min con string kommer til at se således ud:

Server=(local); Integrated Security=SSPI; Database=Northwind;
Max Pool Size=75; Min Pool Size=5"

Hvad skal jeg gøre for at køre med SSPI og hvad betyder det?

En god setup tutorial er fin....
Avatar billede arne_v Ekspert
01. juni 2003 - 16:33 #1
SSPI = Security Support Provider Interface

Og et så vidt jeg ved et specielt API til Windows security
Avatar billede arne_v Ekspert
01. juni 2003 - 16:34 #2
Og du skal to ting:

1) have din server sat op til at understøtte den
  authentication du vil bruge

2) have din connection sat op til at bruge den
  authentication du vil bruge
Avatar billede arne_v Ekspert
01. juni 2003 - 16:36 #3
Og der må stå noget om det i SQL server online books.
Avatar billede arne_v Ekspert
01. juni 2003 - 16:37 #4
Prøv og søg på "authentication" i online books.
Avatar billede arne_v Ekspert
01. juni 2003 - 16:37 #5
svar
Avatar billede disco_keld Nybegynder
01. juni 2003 - 18:35 #6
>>>Arne_v

hvor finder jeg: SQL server online books ? :-(
Avatar billede disco_keld Nybegynder
01. juni 2003 - 18:37 #7
Avatar billede disco_keld Nybegynder
01. juni 2003 - 19:20 #8
kan du hjælpe mig med det?
Avatar billede disco_keld Nybegynder
01. juni 2003 - 19:48 #9
Jeg har nu sat SQL Server til at bruge Windows Only samt tilføjet ASPNET useraccount til SQL Server og tildelt den til den specifikke Database med SELECT rettigheder.

Min con string ser således ud:

Public Function GetConnection() As SqlConnection
            Dim oConnection As SqlConnection
            Try
                oConnection = New SqlConnection()
                oConnection.ConnectionString = "INITIAL CATALOG=Cat; DATA SOURCE=Server; Integrated Security=SSPI; Max Pool Size=75; Min Pool Size=5;"  If oConnection.State <> ConnectionState.Open Then
                    oConnection.Open()
                End If
                Return oConnection
            Catch exc As DataException
                Throw New DataException("Error i GetConnection", exc)
            Catch exc As Exception
                Throw New Exception("Error i GetConnection", exc)
            End Try
        End Function

----------------------------------------------------------

Jeg for følgende error:

Login failed for user 'NT AUTHORITY\NETWORK SERVICE'

--------------------------------------------------


:-(
Avatar billede arne_v Ekspert
01. juni 2003 - 20:10 #10
Online books installeres normalt sammen med serveren.
Avatar billede disco_keld Nybegynder
01. juni 2003 - 21:04 #11
har fundet dem!

jeg smed den her linje i min web.config fil

<identity impersonate="true"/>

samt tilføjede UISR_MakineNavn Guest brugeren, til min SQL Server og tilføjede den til pågældende database med de nødvendige rettigheder og så virkede det!

Er det okay?

Og hvad er det til.....
Avatar billede arne_v Ekspert
01. juni 2003 - 22:17 #12
Jeg ved næsten intet om ASP så det kan jeg ikke svare på.

Men godt at du har fundet de bøger. Søge funktionen er udmærket når
man mangler lidt hjælp.
Avatar billede zapzap Nybegynder
02. juni 2003 - 12:12 #13
Er det ikke nok at du bruger 'trusted_connection' i din connection streng? Den anden skal da vist kun bruges til at impersonate andre...
Avatar billede disco_keld Nybegynder
02. juni 2003 - 14:40 #14
>> zapzap....... jeg kan ikke få det til at virke uden den impersonation attribute i min web.config fil.

Hvad kan det skyldes?
Avatar billede zapzap Nybegynder
02. juni 2003 - 15:06 #15
Ifølge MSDN:

Integrated Security
-or-

Trusted_Connection
'false' When false, User ID and Password are specified in the connection. When true, the current Windows account credentials are used for authentication.
Recognized values are true, false, yes, no, and sspi (strongly recommended), which is equivalent to true.
---
Det der normalt sker er, at dine IIS brugere kører som den lokale IUSR_<maskinnavn> bruger. For at de skal kunne bruge databasen 'direkte', skal SQL Server have brugeren ind (det har du gjort foroven). Ved at køre integreret sikkerhed/trusted connection/, skal de ikke angive password, da de jo kører som IUSR_..., som er 'valideret' af din Windows.
Jeg ville tro at du nu kan fjerne <identity impersonate=true/>. Hele gruppen er
<identity impersonate="true|false"
          userName="domain\username"
          password="password"/>
(men min IIS er rusten og gammel).
Så det du har nu, er nok Ok, men skalerer dårligt. Du har ihvertfald ikke nogen passwords ude og svømme...
Impersonate bruger du til at få tingene til at køre som en helt anden bruger, og det kan være ret besværligt at få til at køre (og fejlfinde).
Så bliver det hele: Bruger X kommer på dit site. Han bliver så til IUSR_... hos dig, og kan impersonate brugeren Y - hvis du absolut vil have folk til at køre som Y.
Så hvis brugeren ender med at blive Y, skal Y have adgang til databasen...

Svar nok?
Avatar billede zapzap Nybegynder
02. juni 2003 - 15:25 #16
Hvis det ikke virker uden impersonation skyldes det, at den 'effektive' bruger ikke er den jeg tror. Din fejl "Login failed for user 'NT AUTHORITY\NETWORK SERVICE'" efterfølges nok af 'not associated with a trusted connection'.
Kører du med IIS, eller er det noget andet ASP.NET du vil køre?
Avatar billede disco_keld Nybegynder
09. juni 2003 - 01:34 #17
>> Zapzap..... mange tak for dit lange svar! :-)

and sorry jeg først svare nu :-(

Hvis jeg fjerner impersonate attributen i min web.config fil, så for jeg denne grimme fejl igen!

"Login failed for user 'NT AUTHORITY\NETWORK SERVICE"

Min IUSR_.... bruger har jeg kun givet adgang til at en database i SQL Server.

Jeg koder asp.net med vb.net og selve app kører på windows server 2003 med IIS 6.0!

Jeg hopper i kanen nu.... skriver igen i morgen.

Mvh

DK
Avatar billede niemeyer Nybegynder
11. juni 2003 - 09:20 #18
Prøv at enable sql server authentication og sæt password for SA'en. Din connectionstring bliver så (istedet for trusted connection) ...uid=sa;pwd=ditpassword. Husk også at tilføje den ASPNET user som frameworket har oprettet. Jeg bruger selv SQLXML virtual directories (med port 1433 åben) hvilket gør det noget lettere at arbejde med en remote sql server.
// Niels
Avatar billede disco_keld Nybegynder
23. juni 2003 - 13:54 #19
Undskyld den lange svartid!

Jeg giver først points nu, da jeg har siddet med min afsluttende eksamen.

Jeg deler points med Arne_v (20) og zapzap (80).

Det virker stadig ikke, hvis jeg fjerner impersonate.

Jeg har oprettet et lignende spm igen, i håb om at finde ud af noget.

Hygge hejsa
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