ASP User Authentication เป็นการเรียกใช้งาน Authentication หน้า Login ของ Web Browser มาเพื่อรับค่า User/Password และทำค่าที่ได้ไปใช้งาน
Syntax
Response.Status = "401 Unauthorized"
Response.AddHeader "WWW-Authenticate","Basic Realm=""localhost"""
AspAuthentication.asp
<% Option Explicit %>
<html>
<head>
<title>ThaiCreate.Com ASP & Authentication</title>
</head>
<body>
<%
'*** Function Decode Authentication Code ***'
Function Decode(strCode)
Dim UUEncode,i,OffSet,numBytes,byteGroup,groupBytes
Dim CharCounter,thisChar,thisByte,k
Set UUEncode = Server.CreateObject("Scripting.Dictionary")
For i=0 To 63
Select Case i
Case 0 OffSet = 65
Case 26 OffSet = 71
Case 52 OffSet = -4
End Select
UUEncode(Chr(i+OffSet)) = i
Next
For byteGroup = 1 To Len(strCode) Step 4
numBytes = 3
groupBytes = 0
For CharCounter = 0 to 3
thisChar = Mid(strCode,byteGroup+CharCounter,1)
If thisChar = "=" Then
numBytes = numBytes - 1
thisByte = 0
Else
thisByte = UUEncode(thisChar)
End If
groupBytes = 64*groupBytes+thisByte
Next
For k = 1 To numBytes
Select Case k
Case 1: thisChar = groupBytes \ 65536
Case 2: thisChar = (groupBytes And 65535) \ 256
Case 3: thisChar = (groupBytes And 255)
End Select
Decode = Decode & Chr( thisChar )
Next
Next
End Function
'*** End Function Decode Authentication Code ***'
Dim strAuth,authSplit,strUser,strPassword
Sub subAuthentication()
Response.Clear()
Response.Status = "401 Unauthorized"
Response.AddHeader "WWW-Authenticate","Basic Realm=""localhost"""
Response.end
End Sub
IF Trim(Request.ServerVariables("HTTP_AUTHORIZATION")) = "" Then
Call subAuthentication()
Else
strAuth = Request.ServerVariables("HTTP_AUTHORIZATION")
strAuth = Trim(Mid(strAuth,6))
strAuth = Decode(strAuth)
authSplit = Split(strAuth,":")
strUser = authSplit(0)
strPassword = authSplit(1)
If Trim(strUser) = "" Or Trim(strPassword) = "" Then
Call subAuthentication()
Else
Response.write("<br>User : "& strUser)
Response.write("<br>Password : "& strPassword)
End IF
End IF
%>
</body>
</html>
คำอธิบาย
จากตัวอย่างจะเป็นการอ่านค่า Request.ServerVariables("HTTP_AUTHORIZATION") และนำค่าที่ได้ไปถอดรหัสเพื่อนำค่า User และ Password มาใช้งาน
Screenshot
|