【问题标题】:Adding a company to users in ASP.NET MVC structure在 ASP.NET MVC 结构中向用户添加公司
【发布时间】:2015-04-04 00:13:19
【问题描述】:

我最近一直在阅读和使用 ASP.NET MVC,想知道它是否会成为现有产品的新框架。

该产品由一个多用户网站组成,客户由我创建并添加到他们各自的公司。然后每个用户都有权在他自己的公司范围内做一些事情、添加数据等。

我将如何在 MVC 中创建这样的结构? 我基本上想成为可以创建新用户,将他们添加到公司并控制他们的权限的“超级管理员”。 普通用户在其公司内也将具有不同的用户角色(管理员、用户、访客)。

我已经设置了几乎所有其他东西(MVC 和实体框架很棒),但我只需要最后一层分离。

非常感谢任何帮助。

【问题讨论】:

    标签: asp.net-mvc-5 user-roles


    【解决方案1】:

    这真的有两个部分。首先是角色。只需在公司的角色与整个应用程序的角色之间创建一个明确的名称,例如:“Admin”、“CompanyAdmin”、“CompanyUser”和“CompanyGuest”。在那里,我的字面意思是“公司”,而不是特定公司名称的占位符。您应该只有一组适用于所有公司用户的角色。

    第二部分是所有权授权的一种形式。每个用户都被分配到一家公司,肯定是通过您的用户实体上的外键。您的路线将包含一些标识正在使用的公司的组件,无论是通过子域还是只是路径的一部分,即/FooInc/Bar/Baz。在您的操作中,您将使用此组件从您的持久存储中查找公司,然后将其与用户分配到的公司进行比较。如果两者不匹配,则返回 403。否则,让用户继续。

    有很多方法可以做到。您可以使用动作过滤器、基本控制器等。这在很大程度上取决于您和您的应用程序的需求。无论如何,ASP.NET MVC 非常有能力处理这样的事情。

    【讨论】:

    • 嗨,克里斯。很好的答案,我在发布这个问题后找到了 asp.net 身份样本,再加上你的答案是有道理的。我很确定我们会在我们的新网站上使用 MVC,看起来非常有效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2017-01-05
    • 1970-01-01
    • 2021-02-16
    • 1970-01-01
    相关资源
    最近更新 更多