आईएस के माध्यम से एएसपी क्लासिक में HTTP प्रमाणीकरण(बेसिक या डाइजेस्ट)




iis authentication (3)

क्या आप एक डेटाबेस से उपयोगकर्ताओं की सूची प्राप्त करने या HTTP सर्वर पर नेटवर्क आधारित अनुमतियों का उपयोग करने की कोशिश कर रहे हैं?

यदि आप डेटाबेस का उपयोग कर रहे हैं ओडीबीसी और DSN का उपयोग

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

यदि आप एक पासवर्ड संवाद बॉक्स (सर्वर से) चाहते हैं, तो आपको इसके लिए एक अच्छी मार्गदर्शिका के लिए IIS सेटिंग्स को बदलना होगा ..

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

मैं एएसपी क्लासिक में एक वेबसाइट विकसित करना चाहता हूं जो एक डेटाबेस या पासवर्ड की सूची के खिलाफ HTTP प्रमाणीकरण का उपयोग करता है जो स्क्रिप्ट के नियंत्रण में है। आदर्श रूप में, समाधान में कोई घटकों या IIS सेटिंग्स शामिल नहीं होनी चाहिए क्योंकि स्क्रिप्ट को होस्ट किए गए वातावरण में चलाने योग्य होना चाहिए।

कोई सुराग / कोड गहरा सराहना करते हैं


परिभाषा के अनुसार, HTTP प्रमाणीकरण कुछ ऐसी है जो वेबसर्वर द्वारा अनुरोध किया गया है, मुझे संदेह है कि आपको ऐसा समाधान मिलेगा जिसके परिणामस्वरूप आईआईएस सेटिंग लागू नहीं होनी चाहिए।

वेब ब्राउज़र आपकी वेब साइट से जुड़ जाएगा, और जब तक कि आपके सर्वर HTTP प्रतिसाद कोड HTTP / 1.1 401 अनधिकृत के साथ प्रतिक्रिया न करे, तो ब्राउज क्रेडेंशियल्स के माध्यम से पारित नहीं होगा।

आप 401 के एक प्रतिक्रिया कोड को आज़मा सकते हैं और हेडर सेट कर सकते हैं

   WWW-Authenticate: Basic realm="SomethingGoesHere"

तो ब्राउज़र प्रयोक्ता नाम और पासवर्ड के लिए उपयोगकर्ता को संकेत देगा, लेकिन ब्राउज़र को साफ़-पाठ (बेस 64 एन्कोडेड) पर भेजा जाएगा, जैसे:

Authorization: Basic YnJpYW5iOmJvYmJ5Ym95

जिसका बेसलाइन से अनुवाद किया गया है:

brianb:bobbyboy

मुझे नहीं पता कि आपके पास एएसपी पृष्ठ से प्राधिकरण शीर्षलेख तक पहुंच होगी, या यदि वेब सर्वर बेकार की ओर जा रहा है क्योंकि किसी ने इसकी उम्मीद नहीं की है, लेकिन किसी के पास क्रेडेंशियल्स पास करने की कोशिश कर रहा है, लेकिन इसके लायक हो सकता है प्रयत्न...


शुद्ध क्लासिक एएसपी VBScript में HTTP मूलभूत प्रमाणीकरण करना संभव है।

आपको आधार 64 डीकोड करने के लिए कुछ आवश्यकता होगी। यहाँ एक शुद्ध VBScript कार्यान्वयन है आपको यह भी सुनिश्चित करने की आवश्यकता होगी कि आपके आईआईएस कॉन्फ़िग में आप "बेसिक प्रामाणिकरण" और "एकीकृत विंडोज प्रमाणीकरण" को बंद कर देते हैं, क्योंकि ये आपको 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-authentication