Jeg har prøvet at få det til at køre mellem 2, 2000 domæner hvor det ene domæne holder SQL serveren og det andet web serveren men jeg får en access fejl når jeg prøver at forbinde mig til databasen via ASP.. HJÆÆLP!
Så længe du er verificeret på NT/eller SQL-niveau er der vel ikke noget problem. Prøv at Logge dig på SQL-serveren fra webserveren via Enterprise Manager... Hvis du kan det er det jo bare at lægge adgangen i connection string!
Microsoft OLE DB Provider for SQL Server error '80040e4d'
Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
/test/connectstring.asp, line 4
Det er fejlen.. før den får en jeg dialog boks hvor den beder mig om brugernavn og password.. hvilket også er noget skod fordi det er et website hvor anonyme brugere skal have adgang.
'NG AUTHORITY\ANONYMOUS LOGON' er ikke en bruger.. jeg har derimod en bruger som har adgang til min database.. og en bruger med samme navn og password har fået adgang til webserveren i det andet domæne..
Hvis du læser dit link til ende, så står der direkte, at din fejlbesked hænger sammen med SQL Server konfiguration til NT Authentication
The following error messages indicate problems with the SQL Server configuration for Windows NT authentication: Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '\'.
Microsoft OLE DB Provider for ODBC Drivers error '80040e4d' [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Hvis du læser dit link til ende, så står der direkte, at din fejlbesked hænger sammen med SQL Server konfiguration til NT Authentication
The following error messages indicate problems with the SQL Server configuration for Windows NT authentication: Microsoft OLE DB Provider for ODBC Drivers (0x80040E4D) [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '\'.
Microsoft OLE DB Provider for ODBC Drivers error '80040e4d' [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'.
Jah jeg har set det.. men jeg kan stadig ikke finde ud af hvad der er galt.. hvordan er konfigurationen i din webserver..?.. har du basic authentication slået til og har du windows integrated authentication slået til?.. hvilken bruger har du sat til at være din anonyme bruger?.. er det IUSR kontoen?
ok, her har vi så humlen i det hele. Hvis jeg kører mixed mode og definere hvilken bruger som har adgang til SQL serveren så virker det også men det kunne være smart hvis man kunne definere hvilken bruger der har adgang til SQL serveren i webserveren sådan at hvis der er nogen som finder et hack til ASP, så han kan se min kode så kan han aldrig finde mit password. Problemet er at den tekst jeg har fundet er om en SQL server 7 og sikkert en NT 4.0 så jeg er overhovedet ikke sikker på at det kan lade sig gøre.
Det er ikke web-serveren, som skal styre adgang til SQL Serveren. Det er SQL Serveren, som skal styre adgangen via de NT-konti, som er oprettet på SQL Serveren og de Logins, der er oprettet på SQL Serveren. Bland Web Serveren uden om det.
Hvis du bruger NT Authentication på SQL Server, så er den faktisk fløjtende ligeglad med det bruger-navn, du angiver i connection-string. Den logger ind via den NT Bruger, som er logget på - og det vil være den konto, som ASP kører under.
Så har du filter på, som tillader forespørgsler på port 80 at blive videresendt til din SQL Server.
Hvis du med sikkerhed ved, at port 1433 er lukket, så kan du roligt køre med SQL Authentication. Jeg har en SQL Server kørende på min computer, som er koblet på via Router og ADSL. Jeg har adgang til web-server og ftp-server på den computer udefra, men jeg kan ikke få fat i en SQL server på den udefra, da port 1433 er lukket på min firewall.
Jeg tror umiddelbart at problemet ligger i at de 2 domains ikke kender hinanden. Dvs. løsningen givet vis ville være at lave en skov hvor de 2 domains kender hinanden. (alla trust relation ship i nt4) Du kan rellativt "nemt" teste om det ville være en løsning ved at installere en sql server i samme domain som webserveren står .. og se om du kan få det til at køre. (hvis ikke .. har du i hvertfald en indikation af at der også er noget andet galt) I NT 4 kunne man tit løse denne type problemer ved simpelthen at oprette en bruger i begge domains med samme login og password. Hvor efter man ville have "fri" adgang fra det ene domain til det andet. Det kan man ikke længere i Win2k. (men linket du henviser til drejer sig jo formenligt også om nettop NT4) Hvis det lykkedes dig at udføre stuntet med 2 maskiner i samme domain. Så vil løsningen være at oprette trust imellem de 2 domains (lave en skov som det hedder på AD´sk)
Benny. Jeg tror du misser pointen omkring sikkerheden. Ja, umiddelbart kan man godt sige at sikkeheden imellem web og sql server er ok selv om man bruger mixed mode (sql server sikkerhed) så længe at sql serveren står godt gemt. Men (et) problem med denne apporoch er at man på den måde er nødsaget til at have login/pass word information liggende i clear tekst format på webserveren. Det er man af sikkerheds mæssige årsager ikke glad for. Desuden er der nogle performance issues, der tyder på at et nt login giver en marginal bedre performance, pga. at alt kommer til at ske i samme sikkerheds content.. hvilket gør det nemmere at lave en ordenlig connection pooling. (Bla.)
ups. Ja .. den bruger du bruger skal selfølgelig have rettigheder til netværket. Hvilket IUSR_Spand ikke har som standard. Så du skal oprette en domain user og lade IIS instandsen (sitet) køre under denne bruger i stedet. Det giver selfølgelig nogle sikkerheds problemer med at brugeren så har rettigheder til at kontakte andre maskiner over netværket fra den contekst som webserveren køre. (det skal selfølgelig begrænses mest muligt.)
Hygge Hvid
ps. Benny jeg ser du nævner "sa" .. nej nej nej .. ALDRIG. Du må aldrig nogen sinde lade en web app køre med SA rettigheder til din database. Det kan kun gå galt. Det svare til mere eller mindre til at stikke folk dit admin pass til database serveren. Hvis der viser sig at være en fejl i din input validering (som du forhåbenlig har ALLE steder) så folk ved en fejl kan fyrre commandoer til sql serveren. Vil de med SA rettigheder have fuld kontrol over SQL serveren (og som standard vil det sige System rettigheder til selve OS´et.. need i say more)
Hej hvid.. Jeg tror muligvis du har ret.. jeg opgav fordi det slog mig at siden jeg har begge domains gemt væk bag firewalls så kan den sikkert ikke finde ud af at kommunikere login informationerne..
Men jeg tror du har ret i at det ikke kan lade sig gøre i win2k når de 2 domains ikke får lov at snakke sammen..
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.