일부 자동 질의에 대한 인증을 시행하고 싶습니다.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);
});
가장이를 처리하는 방법을 정말 확실하지. 자동 질의 서비스에 [Authenticate]
특성을 적용하기 위해
는 IAutoQueryDb 서비스에 주입 할 생각이다, 그러나 이들은 예를 들어,
appHost.Init()
전이나 AppHost 생성자에 하나,라고Configure()
전에 등록 할 필요가? 나는 널 예외를 얻고있다 .... 당신이 제공 한 링크에서 기본적으로 동일한 예제를 사용한다. –@ChrisKlepeis 예'IAutoQueryDb'는 AutoQueryFeature를 등록 할 때 IOC에 등록됩니다 (예 :'Plugins.Add (new AutoQueryFeature()); – mythz