2016-07-18 2 views
0

여기 거래가 있습니다.WebApi 컨트롤러 수명주기

저는 여러 대의 컨트롤러가있는 WebApi를 가지고 있습니다. 인증 서버가 구성되었습니다. 이것은 모두 작동합니다.

API에 대한 호출을 만들고 해당 토큰을 전달할 때 컨트롤러의 액션 중 하나에 중단 점을 넣으면 사용자 개체가 제대로 채워집니다.

이제 API 작업이 실행하는 코드는 인증 된 사용자와 관련된 데이터가 필요합니다. 사용자가 아직 제대로 채워지지 않았기 때문에 컨트롤러의 생성자에서이 코드를 실행하려고하면 코드가 실패합니다.

그래서, 내 질문에 : 컨트롤러의 모든 호출에 대한 코드를 실행할 수 있도록 컨트롤러의 수명주기의 일부 요소가 있습니까 (아직 생성자에서와 같이). 사용자 개체가 제대로 채워 졌습니까?

답변

1

사용자는 컨트롤러를 만든 후에 만 ​​할당됩니다. ApiController에 처리 할 수있는 이벤트가 없습니다. 가장 일반적인 방법은 추가 정보를 검색하여 모든 작업에서 호출하는 방법을 추출하는 것입니다.

+1

끔찍한 느낌이 들었습니다. –

0

헤더에 암호화 된 UserId/Guid (암호화 된 UserId/Guid)를 추가 할 수 있습니다. 헤더 변수/토큰을 사용하여 컨트롤러 측에서 User 객체를 가져올 수 있습니다.

관련 문제