我在NancyFx上使用FluentValidation。我想针对当前用户验证针对当前上下文的一些数据。不幸的是,我无法找到如何注册和从容器(我使用StructureMap)返回这样的信息的任何示例。
Docs" Nancy的大多数地方都应该提供上下文,因此获取调用当前请求的用户的身份永远不会成为问题。"但是容器没有默认设置。
任何链接,方向?
我很感激你的帮助。
答案 0 :(得分:2)
上下文是请求作用域 - 用户身份也是如此 - 并传递给您可以在引导程序中覆盖的RequestStartup方法。容器也被传递到RequestStartup中,因此您可以根据请求注册所需的任何内容,并在构建您注册的对象时使用上下文。
答案 1 :(得分:0)
有些事情:
按请求注册ICurrentContextProvider。 ICurrentContextProvider只能有一个IUserIdentity属性,虽然我建议使用2个显式方法进行set和get,这样就可以防止双重初始化等。
使您的IUserMapper(假设其请求范围也是如此)依赖于ICurrentContextProvider,并在映射之后设置属性。
之后,依赖于ICurrentContextProvider的任何代码都可以访问您设置的属性。