2017-03-29 4 views
0

맞춤 인증 및 인증을 구현해야하는 웹 API가 있습니다.맞춤 인증 - 웹 API

[Authorize("users","view")] 
public async Task<IHttpActionResult> GetAsync() 
{ 
} 

내가 사용자 정의 인증 필터를 사용하고이를 구현할 수있는 방법이 있나요 : 아래와 같이 승인이 자원과 행동이 정의되어야한다?

또한 웹 API는 클라이언트 인증서로 보호되며 호출자는 요청 헤더에 전달 된 키 별 식별자입니다. 키는 사용자 정의 인증 필터를 사용하여 인증됩니다.

Regarads,

답변

1

예 사용자 지정 권한 부여를 작성하고 권한을 부여 할 필요가 컨트롤러 또는 방법에 넣을 수 있습니다.

샘플 예제는 난 당신이 내 진짜 문제가 무엇인지 이해하지 못했다 생각이

public class DoThisController : ApiController 
{ 
    [CustomAuthorize("users","view")]// for specific methods 
    public string Get() 
    { 
     return "Sample Authorized"; 
    } 
} 
+0

모양을 사용자 정의 인증 로직 및 샘플 컨트롤러를 할 수있는 다음

public class CustomAuthorize : System.Web.Http.AuthorizeAttribute { private string Resource { get; set; } private string Action { get; set; } public CustomAuthorize(string resource, string action) { Resource = resource; Action = action; } public override void OnAuthorization( System.Web.Http.Controllers.HttpActionContext actionContext) { base.OnAuthorization(actionContext); //Check your post authorization logic using Resource and Action //Your logic here to return authorize or unauthorized response } } 

다음과 같다. 나는 Resource와 Action이라는 두 개의 매개 변수를 받아 들일 수있는 Custom Authorization 속성을 작성하고 싶습니다. 사용자가 액세스하려고하는 리소스와 사용자가 리소스에서 수행하는 작업을 제공하여 메서드의 권한을 정의 할 수 있어야합니다. –

+0

@SillyJohn 귀하의 특정 목적을 위해 편집 된 답변을 확인하십시오. –

+0

@SillyJohn 귀하의 요구 사항을 확인하십시오. 귀하가 투표 할 때 솔루션이 귀하에게 유용하지 않은 이유를 알려주십시오. 나는 당신의 목적을 구체적으로 바꾸었다. 이것이 도움이 되는가? –