如何在ASP中表示不同的产品级别和功能访问?净MVC3

本文关键字:功能 访问 MVC3 ASP 表示 | 更新日期: 2023-09-27 17:50:32

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

示例1:让模型或控制器做X,并对每个产品级别有不同的Y或Z。

示例2:在视图中使用内联标记,根据helper方法的结果显示"上层"角色可用的特性。

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

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

如何在ASP中表示不同的产品级别和功能访问?净MVC3

应该同时放在两个位置。例如,如果你的免费层不允许自定义域,而你的付费层允许,简单地删除域名的input是不够的:用户可能会手工制作一个POST请求,并包括缺失的account.customDomain值。因此,你也必须检查控制器中的层特征。

至于在哪里以及如何指定这些层限制,我现在也有这个问题。我想到的是一个简单的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#类来封装对这个规范的访问,然后你就万事俱备了。