0
사이트가 별도의 시스템을 통해 권한을 부여합니다. 사용자가 승인되면 Auth 쿠키에 몇 가지 추가 정보를 저장하려고합니다. 아래 코드를 사용하여이 작업을 수행 할 수 있습니다.[Authorize] 속성을 사용하는 MVC 외부 인증
var settings = new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() };
var serialized = JsonConvert.SerializeObject(accountNumber, Formatting.None, settings);
var authTicket = new FormsAuthenticationTicket(1, "MyAuthTicket", DateTime.Now, DateTime.Now.AddMinutes(15),
false, serialized);
var encTicket = FormsAuthentication.Encrypt(authTicket);
var faCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)
{
HttpOnly = true,
};
Response.Cookies.Add(faCookie);
그러나 [승인]으로 표시된 WebAPI 방법을 시도하면 401 Unauthorized 오류가 발생합니다. 내가 뭘 놓치고 있니? Web.config의 추가
웹 API는 비 상태입니다. 쿠키로는 아무 것도하지 않습니다. '[Authorize]'를 사용하려면 각 요청에 대해 인증을 받아야합니다. 자, 어떻게 (토큰을 전달, 실제 자격 증명, OAuth 등) 다른 일이 당신에 대해 이동하십시오. 이 질문은 도움이 될 수 있습니다 : http://stackoverflow.com/questions/11775594/how-to-secure-an-asp-net-web-api/ –
사실이 아닙니다. WebAPI는 양식 인증 (암호화 된 쿠키에 저장됩니다)을 사용할 수 있습니다.) 모든 ASP.NET 응용 프로그램처럼 (MVC 및 WebForms). –