2013-02-21 2 views
7

ServiceStack의 인증 기능을 사용하고 CredentialsAuthProvider를 사용하도록 Auth 플러그인을 구성했습니다. 생성 된 메타 데이터 페이지에서 ServiceStack는 다음과 같은 작업을 보여줍니다ServiceStack API에서 AssignRoles 및 UnAssignRoles를 제거하는 방법

  • 인증
  • AssignRoles을
  • UnAssignRoles

나는 역할을 제거하려는 이유는, [인증 작업을 사용하고 있습니다 이 페이지의 독자가 API 사용 방법을 혼동하지 않도록하는 작업입니다. 이것이 가능한가?

답변

16

만 AssignRoles 및 UnAssignRoles

AuthFeature authFeature = new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new BasicAuthProvider() }); 

authFeature.IncludeAssignRoleServices = false; 

Plugins.Add(authFeature); 
+0

그래 그게 더 나은의를 제거하려면 다음을 수행 할 수! – mythz

+0

부 - 야아! 훌륭한 해결책. – ThomasArdal

6

Plugins wiki에 설명이 있는지 의심 스러우면 전용 Authentication page을 확인하십시오.

각 플러그인은 사용할 수있는 경로로 재정의이 행동이 경우, 오버라이드 (Override) 속성이 있습니다

Plugins.Add(new AuthFeature(() => new AuthUserSession(), 
    new IAuthProvider[] { ... }, 
    ServiceRoutes = new Dictionary<Type, string[]> { 
     { typeof(AuthService), new[]{"/auth", "/auth/{provider}"} }, 
     //Omit the Un/AssignRoles service definitions here. 
    }  
)); 

source code for the AuthFeature : 대한 짧은 손입니다

Plugins.Add(new AuthFeature(() => new AuthUserSession()) { 
    IncludeAssignRoleServices = false 
}); 

각 속성의 기본값을 보는 것도 유용합니다.