2013-02-26 3 views
0

나는 아약스에 의해 호출되는 로그인 기능에 문제가 무단으로 401 오류는, 그게 볼 수전화 아약스에서 로컬 C#을 웹 서비스,

[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); 

답변

0

웹 서비스에 대한 공용 액세스를 허용하여 문제가 해결되었지만 web.config을 통해 보안 모델을 실행할 때 기본적으로 거부되었습니다. 모두 감사합니다.

0

그냥 한 눈에,이 인증 된 사용자가 ReturnURL (또는 기본 URL)로 지정된 페이지에 적절한 권한을 가지고 있지 않음을 나타납니다.