Вот мой сценарий входа. У меня есть два пользователя 20002143 и 60000027, которые сначала будут аутентифицироваться и перенаправляться по сценарию, а второй будет проходить проверку подлинности и оставаться на одной странице. Я не могу понять, почему. Я вставил контрольные точки все над этим кодом, и он говорит мне, что подтверждает подлинность, но тогда почему страница Войти только перезарядка:Почему мой скрипт перенаправления LDAP терпит неудачу с одним пользователем?
public bool AuthenticateActiveDirectory(string Domain, string EmployeeID, string Password)
{
try
{
DirectoryEntry entry = new DirectoryEntry("LDAP://" + Domain, EmployeeID, Password);
object nativeObject = entry.NativeObject;
return true;
}
catch
{
return false;
}
}
protected void btnLogin_Click(object sender, EventArgs e)
{
string Domain = "domain.local";
string EmployeeID = txtUserID.Text;
string Password = txtPassword.Text;
string ADStatus = null;
if (AuthenticateActiveDirectory(Domain, EmployeeID, Password) == true)
{
ADStatus = "Success";
Session["SessionLoginStatus"] = ADStatus;
Response.Redirect("Intro.aspx?redir=Success&userid=" + EmployeeID);
}
else
{
ADStatus = "Failure";
Session["SessionLoginStatus"] = ADStatus;
lblADError.Visible = true;
lblADError.Text = "Please Check Your Password<br />";
}
}
Вот другая часть этого. Если я использую URL для входа ложно со вторым EmpId
https://www.site.com/folder/intro.aspx?redir=Success&userid=60000027
он будет перенаправлять меня обратно на вход в систему, но это не имеет смысла, так как также Intro.aspx проверку Войти в скриптовой как это.
//checking to see if user logged in
if ((ADStatus == "Success") && (UserID.Length >= 8))
{
}
if ((ADStatus == null) || (UserID.Length < 8))
{
ADStatus = "Failure";
Session["SessionLoginStatus"] = ADStatus;
Response.Redirect("https://www.site.com/folder/userlogin.aspx");
}
else if (ADStatus == "Failure")
{
ADStatus = "Failure";
Session["SessionLoginStatus"] = ADStatus;
Response.Redirect("https://www.site.com/folder/userlogin.aspx");
}
Что я могу оставить здесь или сделать неправильно?
Edited
Проблема была вызвана логикой на второй странице, которая брошена пользователя обратно на входе в систему, если ID пользователя не соответствует список пользователей, определенных в таблице SQL.
Попробуйте сравнить запросы и их ответы в Fiddler и посмотреть, дает ли это какие-либо подсказки; или если вы можете по крайней мере обмениваться данными с нами, если вы не знаете, как отлаживать их самостоятельно, используя Fiddler. –
Я открыл скрипач, но он говорит только о туннеле на www.site.com при ударе и выходе из страницы входа – Skullomania
вы можете скопировать/вставить исходные ответы от обоих запросов? –