在我的应用程序中,我正在使用自定义请求过滤器,以便使用基本身份验证来对用户进行身份验证。我想使用已注册的请求记录器,如下所示:
Plugins.Add(new RequestLogsFeature { EnableSessionTracking = false });
当我在/ requestlogs上执行请求时,出现以下错误:
{
"Results": [],
"ResponseStatus": {
"ErrorCode": "Invalid Role",
"Message": "Invalid Role",
"StackTrace": "[RequestLogs: 10.08.2014 19:29:03]:\n[REQUEST: {Skip:0}]\nServiceStack.Common.Web.HttpError: Invalid Role\r\n at ServiceStack.ServiceInterface.RequiredRoleAttribute.AssertRequiredRoles(IRequestContext requestContext, String[] requiredRoles)\r\n at ServiceStack.ServiceInterface.Admin.RequestLogsService.Any(RequestLogs request)\r\n at ServiceStack.ServiceHost.ServiceRunner`1.Execute(IRequestContext requestContext, Object instance, TRequest request)",
"Errors": []
}
}
如何强制请求记录器使用基本身份验证请求过滤器并忽略不使用的角色?
您可以删除角色要求:
Plugins.Add(new RequestLogsFeature {
EnableSessionTracking = false,
RequiredRoles = null
});
您可以在此处找到各种设置RequestLogFeature
为了防止在不使用身份验证的情况下访问请求日志,可以使用以下方法将基本身份验证过滤器属性应用于请求日志:
typeof(RequestLogsService).AddAttributes(MyAuthenticateAttribute);
MyAuthenticateAttribute
基本身份验证过滤器属性的名称在哪里。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句