0
성공적으로 MVC 4 웹 API 사이트에 로그인하여. ASPXAUTH 설정 쿠키이 방법 :WebAPI 및 폼 인증 CookieContainer
private void Login()
{
var client = new RestClient("http://QQQQ/MobileAPI");
client.CookieContainer = new CookieContainer();
var request = new RestRequest {Resource = "/api/account/Logon", Method = Method.POST};
request.AddObject(new {Username = "john", Password = "secret"});
var responseLogin = client.Execute(request);
if (responseLogin.StatusCode == HttpStatusCode.OK)
ProcessData(client.CookieContainer);
}
당신은 내가 다음 [AUTHORIZE]
컨트롤러 뒤에 앉아 편안하고 명령을 처리 할 수있는 ProcessData()
함수에 CookieContainer 통과 볼 수 있듯이.
ProcessData()를 호출하면 HttpStatusCode.Unauthorized
질문 실패 : 내가 제대로 인증을 전송하고 있지 않다 같은데요?
private void ProcessData(CookieContainer cookieJar)
{
var client = new RestClient("QQQQQ/MobileAPI");
client.CookieContainer = cookieJar;
var request = new RestRequest {Resource = "/api/values/5", Method = Method.GET};
var responseForUser = client.ExecuteAsGet<AppUser>(request, "GET");
if (responseForUser.StatusCode == HttpStatusCode.OK)
{
AppUser app = responseForUser.Data;
Console.WriteLine(app.CUSAName);
}
if (responseForUser.StatusCode == HttpStatusCode.Unauthorized)
{
Console.WriteLine("FAILED");
}
}
두 번째 전화가 쿠키를 보내거나 받나요? – leastprivilege
API 컨트롤러가 Http 컨트롤러와 다르게 작동하므로 API 컨트롤러에서 Authorize 특성이 작동하는지 의심 스럽습니다. API 컨트롤러의 수명주기를 확인해야합니다. –