首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MultiTenant MVC应用程序中的自定义RoleProvider

MultiTenant MVC应用程序中的自定义RoleProvider
EN

Stack Overflow用户
提问于 2012-10-31 10:44:17
回答 1查看 352关注 0票数 0

我需要开发一个自定义的MultiTenant web应用程序的RoleProvider。在数据库级别,我们有一个表,它将用户、角色和租户联系起来。

我的问题是,RoleProvider只需将用户作为参数传递,就可以获得用户角色,而我们需要考虑租户。

在RoleProvider实现中,我们有:

代码语言:javascript
复制
public override string[] GetRolesForUser(string username)
{
    //Code to retrieve roles from repo
}

由于角色是针对特定租户中的用户的,因此我们需要:

代码语言:javascript
复制
public override string[] GetRolesForUser(string username, int tenantId)
{
    //Code to retrieve roles from repo
}

当前租户存储在ControllerBase类中(所有控制器都继承自该类)。

成员资格和角色提供程序位于单独的项目中,因此我看不到使用当前租户的方法。我想我可以在web应用程序项目中创建我的自定义RoleProvider。

关于如何将租户作为输入的一部分来实现RoleProvider接口,您有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-01 23:54:26

好吧,我只想告诉你我在我的案例中做了什么:

因为我们的路由是以http://[tenantName].[domain]/[App]/[Area]的形式出现的,所以我们最终从请求中获得了[tenantName],因为它是唯一的,并且有了租户和作为参数的UserName,我可以在UsersInTenants'表上进行选择。

使用cookie作为传递额外信息的一种方式也可以做到这一点。

因此,您可以使用cookie访问请求,但根据我的研究,在大多数情况下,会话尚未初始化。

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13150548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档