У меня есть классический веб-сайт ASP (извините!). В некоторых его частях должна быть включена аутентификация NT.
В идеале я хотел бы предоставить пользователю красивую форму входа (а не приглашение браузера), которую я затем аутентифицирую в AD, а затем выполняю обычный «вход в систему в случае успеха, показ ошибки в случае сбоя».
Это вообще возможно? Я пробовал следующее на локальном компьютере, но не уверен, как правильно проверить успех или даже расширяется ли он до поиска в AD
<html>
<head>
</head>
<body>
<form action="test.asp" method="post">
Username:
<input type="text" name="strUserName"><br>
Password:
<input type="password" name="strPassword"><br>
<input type="submit" name="btnSubmit">
</form>
<%
If Request.Form("strUsername") <> "" Then
Dim strADsPath
strADsPath = "WinNT://ARIA"
strUserName = Request.Form("strUserName")
strPassword = Request.Form("strPassword")
'Set adObject = GetObject("WinNT:")
'Set userObject = adObject.OpenDSObject("WinNT://" & domainName, userName, password, ADS_SECURE_AUTHENTICATION)
if (not strADsPath= "") then
Dim oADsObject
Set oADsObject = GetObject(strADsPath)
response.write "Authenticating...<br><br>"
Dim strADsNamespace
Dim oADsNamespace
strADsNamespace = left(strADsPath, instr(strADsPath, ":"))
set oADsNamespace = GetObject(strADsNamespace)
Set oADsObject = oADsNamespace.OpenDSObject(strADsPath, strUserName,strPassword, 0)
if not (Err.number = 0) then
Response.Write "<font color='red'><font size = 5><u><b>Authentication has failed...<b></u></font></font>"
Session("Auth") = "NO"
else
Response.Write "<font color='blue'>USER AUTHENTICATED!</font><br>"
Session("Auth") = "YES"
end if
end if
End If
%>
</body>
</html>
Итак, после аутентификации можно ли получить другие данные, такие как электронная почта и группы?
Я пробовал следовать классическому ASP ( VBScript), 2008 R2, ошибка при использовании AD для аутентификации и попытка аутентификации на моей локальной машине, но она ВСЕГДА аутентифицируется независимо от того, что я ввожу. Является ли тот факт, что я использую локальную машину, означает, что это просто не будет Работа?
Anonymous Authentication
, так как вы передаете учетные данные в IIS, не нужно выполнять аутентификацию. Имейте в виду, что этот метод подвержен атаке «человек посередине», я обычно использую этот метод только в закрытой среде, такой как корпоративная интрасеть, и даже в этом случае он не на 100% безопасен. - person user692942   schedule 10.03.2014