7

ServiceStack で認証機能を使用しており、CredentialsAuthProvider を使用するように認証プラグインを構成しています。生成されたメタデータ ページで、ServiceStack は次の操作を示します。

  • 認証
  • 役割の割り当て
  • 役割の割り当て解除

私は Auth 操作のみを使用しています。このページの読者が API の使用方法について混乱するのを避けるために、ロール操作を削除したいのはなぜですか。これは可能ですか?

4

2 に答える 2

18

あなたはAssignRolesとUnAssignRolesだけを削除する次のことをすることができます

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

authFeature.IncludeAssignRoleServices = false; 

Plugins.Add(authFeature);
于 2013-02-28T01:00:27.397 に答える
8

疑わしい場合は、プラグイン wikiに説明があるかどうか、または専用の認証ページに説明があるかどうかを確認してください。

各プラグインには、その動作をオーバーライドするプロパティがあります。この場合は、利用可能なルートでオーバーライドするだけです:

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

これは次の省略形です。

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.
    }    
));

AuthFeatureのソース コードは、各プロパティの既定値を確認するのにも役立ちます。

于 2013-02-21T08:13:04.593 に答える