【问题标题】:How do I represent different product levels and feature access in ASP.NET MVC3?如何在 ASP.NET MVC3 中表示不同的产品级别和功能访问?
【发布时间】:2011-04-18 13:37:34
【问题描述】:

在我踏上学习 ASP.NET MVC3 的道路之前,我想尝试就我知道我会遇到的事情获得一些建议。如果我的应用程序具有不同的用户/产品级别,导致不同的用户能够执行不同的功能(例如,用户已注册产品的基本级别,因此他们无法上传音频,而更高“级别”的用户可以)有没有关于如何干净地处理这个问题的建议。

示例 1:让模型或控制器执行 X,并为每个产品级别设置不同的 Y 或 Z。

示例 2:在视图中有内联标记,根据辅助方法的结果显示“上层”角色可用的功能。

我在想也许有一种方法可以拥有不同的视图和/或模型,并根据某些标准确定将哪个视图和/或模型连接到请求。

谢谢,如有任何建议,我们将不胜感激。

【问题讨论】:

    标签: c# model-view-controller asp.net-mvc-3


    【解决方案1】:

    这两个地方都应该这样做。例如,如果您的免费套餐不允许自定义域,而您的付费套餐则允许,仅删除域名的 input 是不够的:用户可能能够手工制作 POST 请求并包含缺少的 @987654323 @ 价值。因此,您还必须检查控制器中的层功能。

    至于在哪里以及如何指定这些层级限制,我现在也面临这个问题。我想出的是一个简单的 XML 文件,我在其中指定了层功能:

    <tiers>
      <defaults allow-custom-domain="false" allow-branding="false">
      <tier name="free" upload-limit="10MB" />
      <tier name="platinum" allow-custom-domain="true" allow-branding="true" upload-limit="2GB" />
    </tiers>
    

    然后是一个简单的 C# 类,用于封装对此规范的访问,一切就绪。

    【讨论】:

    猜你喜欢
    • 2011-01-23
    • 1970-01-01
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-10
    相关资源
    最近更新 更多