문제

나는 원하는 웹사이트를 개발하는 ASP 에서는 클래식을 사용하는 HTTP 인증에 대한 데이터베이스 암호 목록의 제어 아래에 스크립트입니다.이상적으로,이 솔루션을 포함하지 않는 구성 요소 또는 IIS 설정이 스크립트는 실행 가능한 호스팅 환경에서.

어떤 단서/코드를 깊이 감사합니다.

도움이 되었습니까?

해결책

그것은 HTTP Basic Authentication 에서는 순수한 ASP VBScript.

당신이 필요합니다 무언가를 디코딩하는 기본 64. 여기에는 순수한 VBScript 구현.당신은 또한이 있는지 확인해야에서 IIS config 을 끄는"기본"인증과 통합"Windows"인증으로 이러한 방해 당신에 HTTP_AUTHORIZATION 헤더가 있습니다.

여기에 샘플을 구현하는 에코시 사용자 이름과 암호를 입력합니다.

<%@LANGUAGE="VBSCRIPT"%>

<!--#include file="decbase64.asp" -->

<%
Sub Unauth()
    Call Response.AddHeader("WWW-Authenticate", "Basic realm=""SomethingGoesHere""")
    Response.Status = "401 Unauthorized"
    Call Response.End()
End Sub

Dim strAuth
strAuth = Request.ServerVariables("HTTP_AUTHORIZATION")

If IsNull(strAuth) Or IsEmpty(strAuth) Or strAuth = "" Then
    Call Unauth
Else 
    %>
    <html>
    <body>
    <% 
        Dim aParts, aCredentials, strType, strBase64, strPlain, strUser, strPassword
        aParts = Split(strAuth, " ")
        If aParts(0) <> "Basic" Then
            Call Unauth
        End If
        strPlain = Base64Decode(aParts(1))
        aCredentials = Split(strPlain, ":")
    %>
    <%= Server.HTMLEncode(aCredentials(0) & " - " & aCredentials(1)) %>
    </body>
    </html>
    <%
End If
%>

접선 사용자 이름과 암호를 위해 뭔가 의미 있는 왼쪽으로는 운동에 대한 독자입니다.

다른 팁

에 의해 정의,HTTP 인증은 무언가에 의해 요구되는 웹 서버,내가 의심 솔루션을 찾을 것입생하지 않는 없이 IIS 설정이 적용되고 있습니다.

웹 브라우저에 연결하여 귀하의 웹 사이트는 서버의 응답으로 HTTP 응답 코드는 HTTP/1.1 401Unauthorized 찾아보기를 전달하지 않습니다.

을 시도할 수 있었다고 응답 코드는 401 고 설정한 헤더

   WWW-Authenticate: Basic realm="SomethingGoesHere"

다음은 브라우저자는 사용자에게 사용자 이름과 암호를 그러나 통해 전송된다는 것을 명확한 텍스트는 브라우저(base64 인코딩된)은 다음과 같습니다.

Authorization: Basic YnJpYW5iOmJvYmJ5Ym95

는 번역서를 Base64:

brianb:bobbyboy

내가 알지 못하는 경우에 당신은에 액세스 권한 헤더에서 당신의 ASP 페이지는 경우 또는 웹 서버가는 괴물이기 때문에 사람을 통과하려고 자격을 하지 않을 때 그것을 기대하고 그 가치가있을 수 있도...

안녕하고 있는 목록을 얻으려면 사용자의 데이터베이스에서 또는 사용하는 네트워크 기반의 권한에 HTTP server?

를 사용하는 경우에는 데이터베이스를 ODBC 를 사용하고 DSN

Dim DatabaseObject1
Set DatabaseObject1 = Server.CreateObject("ADODB.Connection")
DatabaseObject1.Open("DSN=DSNname;")

하고자하는 경우에는 암호 대화 상자(서버에서),당신을 변경할 필요가 IIS 설정한 가이드를 이해합니다.

http://www.authenticationtutorial.com/tutorial/

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top