いくつかの自動クエリーで認証を実施したいと思います。ServiceStack AutoQueryと[Authenticate]属性
[Authenticate]
public class BusinessEntitiesService : QueryDb<DataModel.dbo.BusinessEntity>
{
}
ここに私の問題があります。上記のクラスは私のServiceModelプロジェクトにあります。[Authenticate]属性を追加するために、私はServiceStackを参照するための以前のガイダンスに従って、問題を引き起こす可能性があるServiceStack.dllへの参照を追加する必要があります。 ServiceModelのインタフェース)。上記のクラスをServiceInterfacesに追加することはできません。その理由は、クライアントを使用するあらゆる場所で参照する必要があるからです。
私もGlobalRequestFilterを使用してみました...それはAdminFeatureプラグインでへまをするために表示されます。
private bool IsAProtectedPath(string path)
{
return !path.StartsWith("/auth") && !path.StartsWith("/autoquery");
}
GlobalRequestFilters.Add((httpReq, httpResp, requestDto) =>
{
if(IsAProtectedPath(httpReq.PathInfo))
new AuthenticateAttribute().Execute(httpReq, httpResp, requestDto);
});
最高これを処理する方法が本当にわかりません。 AUTOQUERYサービスへ[Authenticate]
属性を適用するために
IAutoQueryDbは、サービス内に注入されることになっていますか?私はそれにnull例外が発生しています....あなたが提供したリンクから基本的に同じ例を使用しています。 –
@ChrisKlepeisはいAutoQueryFeatureを登録すると 'IAutoQueryDb'がIOCに登録されます。たとえば、' Plugins.Add(new AutoQueryFeature()); ' – mythz