Avatar billede morpheus73 Nybegynder
27. april 2002 - 11:50 Der er 8 kommentarer

Function fra anden server

Jeg har et script som via XML checker om medlem er medlem af brugerdatabase på server 1
Det kan den gøre via et kort script fra server 2. men da jeg ønsler at andre brugere skal kunne bruge mit script på e.g. server 3, vil jeg gerne vide om man kan inkludere en function fra en ekstern server?

<!!INCLUDE "Http://minserver.dk/functions.asp">

- er dette muligt?

functionen vil jo stadig blive afviklet fra server 3 og de tilhørende cookies skrevet derfra

Avatar billede morpheus73 Nybegynder
27. april 2002 - 11:53 #1
eller skal det gøres med et <Script>src=http://www.minserver.dk/checklogin.asp</script> ?

evt skrevne cooikes fra scriptet vil også tage udgangspunkt i det domæne der kalder scriptet frem for det domæne scriptet ligger på, ik?
Avatar billede doc404 Novice
27. april 2002 - 14:28 #2
Du har ret i det sidste i din kommentar. Jeg tror ikke det på nogen måde er muligt at inkluderer et script, der ligger på en anden server.

Der har i går (tror jeg) været et spm omkring cookies der skulle dele flere domæner - prøv at læse den artikel der blev refereret til der
Avatar billede freedom Nybegynder
27. april 2002 - 15:30 #3
<Script src=""http://www.minserver.dk/checklogin.asp""</script>

mener det er sådan...
doc404
DET ER MULIGT!!!
Avatar billede freedom Nybegynder
27. april 2002 - 15:36 #4
Avatar billede doc404 Novice
27. april 2002 - 23:13 #5
hmm Så vid jeg har forstået så ønsker morpheus at inkluderer et script fra en anden server i sin ASP kode på en tredie server?

Så kan jeg ikke se hvordan <script src=.....> kan hjælpe, da det jo ikke vil blive inkluderet på serveren, men i klienten
Avatar billede morpheus73 Nybegynder
28. april 2002 - 15:50 #6
well - havde ikke så god tid igår - her er bedre forklaring på mit spørgsmål.

SERVER1
indeholder:
database + logincheck + REMOTE.LOGIN.asp, der skriver cookies om at bruger er logget ind på server1

SERVER2 indeholder:
Functions.asp - et sæt funktioner der fanger form input og sender data videre via xml til server 1, der så tjekker login

SERVER3 indeholder:
3 part server, der fra form indeholdende kalder scriptet på server 2 der først tjekker login og skriver server3 cookies +
Avatar billede morpheus73 Nybegynder
28. april 2002 - 16:36 #7
her er scriptet der på server1 checker om bruger er medlem + skriver en cookie fra server 1 hvis han er

Remote.login.asp
<%
Dim strSQL                ' Stuctured Query Language
Dim objConn                ' Database Connection
Dim objRs                ' Recordset
Dim strLoginName        ' Name user logs on with
Dim strLoginPassword    ' Password to login with
Dim lngMemberID            ' MemberID assigned to account

' Ensure page results do not remain in cache
Response.Expires = 0
Response.ExpiresAbsolute = Now()

' Grab querystring data
strLoginName = Request.Form("LoginName")
strLoginPassword = Request.Form("LoginPassword")

' Open database connection
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRs = Server.CreateObject("ADODB.Recordset")
objConn.Open "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" & Server.MapPath("Members.mdb")

' Search for Member Account
strSQL = "SELECT MemberID FROM Members WHERE LoginName = '" & strLoginName & "' AND LoginPassword = '" & strLoginPassword & "'"
Set objRs = objConn.Execute(strSQL)

' Notify viewer/server of results
If objRs.EOF Then
    Response.Write("Login Failed")
Else
    lngMemberID = objRs(0)
    Response.Write(lngMemberID)
    Response.Cookies("MinServerUser").Path = "/"
    Response.Cookies("MinServerUser")("Name") = strLoginName
    Response.Cookies("MinServerUser")("Pword") = strLoginPassword
   
   
    ' HACK: Errors occur if result is a single number
    Response.Write(".")
   
End If

Response.Write "<HR>QueryString: " & Request.QueryString & "<HR>"
Response.Write "<HR>Form: " & Request.Form & "<HR>"

' Garbage Collection
Set objRs = Nothing
objConn.Close
Set objConn = Nothing

Response.End
%>

her er funktionen der skal ligge på server 2 i filen...

functions.asp, der ligger på minserver2.dk:
<%

function checkLogin()

Dim strSQL                ' Structured Query Language
Dim strLoginName        ' Name user logs on with
Dim strLoginPassword    ' Password to login with
Dim lngMemberID            ' MemberID assigned to user account
Dim objSpider            ' Spider to request HTML page that logs user into system
Dim strResponseText        ' Response returned from remote server
Dim strQueryString        ' QueryString

' URL to page that allows other servers to log users against centralized
' database.  (This may need to be changed)
Const strURL = "http://minserver1.dk/Remote.Login.asp"

' Grab posted form data
strLoginName = Request.Form("LoginName")
strLoginPassword = Request.Form("LoginPassword")

strQueryString = _
    "LoginName=" & Server.URLEncode(strLoginName) & _
    "&LoginPassword=" & Server.URLEncode(strLoginPassword)
   
' Log user into remote location and get results
Set objSpider = Server.CreateObject("Microsoft.XMLHTTP")
' other versions ...
' MSXML2.XMLHTTP.3.0, MSXML2.ServerXMLHTTP, Microsoft.XMLHTTP

With objSpider
    Call .Open("POST", strURL, False, "", "")
    Call .setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
    Call .Send(strQueryString)
    strResponse = .ResponseText
End With
Set objSpider = Nothing

' Notify user of success/failure
If  Not strResponse = "Login Failed" Then
    lngMemberID = strResponse
    Response.Write("MemberID = " & lngMemberID)
    Response.Cookies("MinServerUser").Path = "/"
    Response.Cookies("MinServerUser")("Name") = strLoginName
    Response.Cookies("MinServerUser")("Pword") = strLoginPassword
Else
    Response.Write("Login Failed: " & strResponse)
End If

end function

function LoginBox()

<FORM method="post" action="call function CheckLogin()">
Login Name: <INPUT name="LoginName" size="20"><BR>
Login Password: <INPUT name="LoginPassword" type="Password" size="20"><BR>
<INPUT type="submit" value="Login">
</FORM>
end function
%>

og her den sidste fil som kan gives til eksterne serveradministratorer

<INCLUDE:http//minserver2.dk/functions.asp>

call LoginBox()
Avatar billede morpheus73 Nybegynder
29. april 2002 - 08:24 #8
Nå, glem ovenstående - tilsyneladende kan jeg ikke få server 1 til at skrive cookies på egne vegne når den eksekveres af XML´en

nå men til gengæld fandt jeg ud af at oversætte min ASP function til en JScript function og så lade folk kalde den - det skulle virke
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
Kurser inden for grundlæggende programmering

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