我有一个已实现成员资格的 asp.net mvc 应用程序。因此,用户必须登录。每个用户都属于一个组织(多租户)。
我将如何在全球范围内处理组织参数?我认为这对于全局过滤器可能是一件好事,因为需要为给定组织过滤所有数据。并且组织与用户名连接但不在同一个表中。
例如我有一个这样的索引操作
public ActionResult Index()
{
var result = _repository.GetListByOrganisation(organisation);
return View(result);
}
我正在考虑有一个全局属性,它可以根据给定的用户名查询组织的数据库。由于我的控制器已经包含授权属性,所以我有用户名。缓存组织(会话,控制器上下文)而不是在每个请求上从 db 查询组织会很好。
这是一种实现这样的方法吗?或者还有其他更好的方法吗?以及如何从过滤器中设置控制器/控制器上下文的属性?
所以关于这个的任何想法以及评论都会很棒......