ServiceStack で認証機能を使用しており、CredentialsAuthProvider を使用するように認証プラグインを構成しています。生成されたメタデータ ページで、ServiceStack は次の操作を示します。
- 認証
- 役割の割り当て
- 役割の割り当て解除
私は Auth 操作のみを使用しています。このページの読者が API の使用方法について混乱するのを避けるために、ロール操作を削除したいのはなぜですか。これは可能ですか?
ServiceStack で認証機能を使用しており、CredentialsAuthProvider を使用するように認証プラグインを構成しています。生成されたメタデータ ページで、ServiceStack は次の操作を示します。
私は Auth 操作のみを使用しています。このページの読者が API の使用方法について混乱するのを避けるために、ロール操作を削除したいのはなぜですか。これは可能ですか?
あなたはAssignRolesとUnAssignRolesだけを削除する次のことをすることができます
AuthFeature authFeature = new AuthFeature(() => new AuthUserSession(), new IAuthProvider[] { new BasicAuthProvider() });
authFeature.IncludeAssignRoleServices = false;
Plugins.Add(authFeature);
疑わしい場合は、プラグイン 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のソース コードは、各プロパティの既定値を確認するのにも役立ちます。