0

我将 FluentValidation 与 NancyFx 一起使用。我想针对当前上下文验证一些数据,完全针对当前用户。不幸的是,我找不到任何示例如何注册并从容器(我正在使用 StructureMap)中获取此类信息。

Docs “上下文应该在 Nancy 的大多数地方都可用,因此获取调用当前请求的用户的身份永远不会成为问题。” 但容器默认没有它。

有链接吗,路线?

我会很感激你的帮助。

4

2 回答 2

2

上下文是请求范围的 - 就像用户身份一样 - 并被传递到 RequestStartup 方法中,您可以在引导程序中覆盖该方法。该容器也被传递到 RequestStartup 中,因此您可以注册每个请求所需的任何内容,并在构建您注册的对象时使用上下文。

于 2015-03-11T16:12:53.490 回答
0

类似的东西:

为每个请求注册 ICurrentContextProvider。ICurrentContextProvider 只能具有 IUserIdentity 的一个属性,尽管我建议使用 2 个显式方法来设置和获取,这样可以防止双重初始化等。

使您的 IUserMapper(假设它的请求范围也是如此)依赖于 ICurrentContextProvider,并在映射之后设置属性。

之后,任何依赖于 ICurrentContextProvider 的代码都可以访问您设置的属性。

于 2015-03-18T01:17:08.183 回答