ServiceStack中基于会话的验证

时间:2015-06-28 23:05:21

标签: validation servicestack

我有一些验证逻辑,它基于用户的会话。 Сan我从继承自AbstractValidator的类中访问会话?

或者是否有其他方法可以检查基于RequestDTO的会话?

例如我可以使用过滤器(我可以通过覆盖的Execute方法中的IRequest参数req访问会话),但我不知道如何从过滤器的类中返回响应,绕过main方法的操作。如果我将抛出异常,该服务将无法正常工作,因为RequestDTO在我的项目之外声明并且它不是从IReturn继承的<>并且不包含ResponseStatus字段。

提前感谢您的帮助(对不起我的英语)

1 个答案:

答案 0 :(得分:3)

如果您的验证器实现IRequiresRequest,那么它将注入您可以在lambda表达式中使用的当前IRequest,例如:

public class CustomValidator : AbstractValidator<Request>, IRequiresRequest 
{
    public IRequest Request { get; set; }
    ...
}