У меня есть проблема с функцией входа в систему, которая вызывается AJAX, что это код функции это WebService видноВызов местный C# вебсервис из Аякса 401 ошибка Несанкционированное
[WebMethod]
[System.Web.Script.Services.ScriptMethod]
public string CheckData(string login, string Pass)
{
global gb = new global();
if (gb.CheckUserExist(login, Pass))
{
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(login, true);
HttpCookie cookie = new HttpCookie("userData",login);
cookie.Expires = DateTime.Now.AddMonths(2);
Mosab2aModel.Mosab2aEntities context = new Mosab2aModel.Mosab2aEntities();
var User = context.Users.Where(x => x.UserName == login && x.Password == Pass)
.Select(x => new { x.UserName, x.Password, x.Admin, x.DisplayName, x.FBID }).First();
cookie["UserName"] = User.UserName;
cookie["Password"] = User.Password;
cookie["isAdmin"] = User.Admin.ToString();
cookie["Name"] = User.DisplayName;
cookie["FBID"] = User.FBID;
Context.Response.Cookies.Add(cookie);
//Context.Response.Redirect("/Default.aspx");
return "1";
}
else
{
return "0";
}
}
Я называю его АЯКС здесь
$.ajax({
type: "POST",
url: 'LoginService.asmx/CheckData',
data: "{'login':'"+ login +"','Pass':'"+pass +"'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg)
{
if (msg.d == "1")
{
//document.location.href = '/Default.aspx';
}
else
{
formWrapper.clearMessages();
displayError('Username or password is incorrect');
}
},
error: function()
{
formWrapper.clearMessages();
displayError('Error in contacting server , try again later.');
}
});
у меня есть странная проблема, если пользователь не существует, то функция работает хорошо, и она возвращает значение 0 и diplays ошибки, но если функция нашла пользователь он получит 401 ошибку Несанкционированное.
Редактировать: после нескольких поиска проблема с этой линией!
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(login, true);