是否有任何东西已经构建为库/nuget 包等,可在任何 ASP.Net/MVC 应用程序中提供功能管理?我所说的功能类似于模块:数据输入模块、简单报告模块、高级报告模块、预测。如果用户购买了基本许可证,他/她只能访问 - 数据输入模块和简单报告模块。如果用户购买了专业许可证,他/她可以访问 - 数据输入模块和简单报告模块和高级报告模块。如果用户购买企业许可证,他/她可以访问所有 - 数据输入模块、简单报告模块、高级报告模块、预测。
我所指的概念类似于角色管理概念,但并不完全相同 - 用户如何访问某个角色以及角色如何访问页面/操作方法。
在开发相当多的应用程序时,我遇到了这种情况 - 用户应该被允许访问一个部分,不仅因为他们具有特定的角色,而且他们已经购买了应用程序中的某个功能。注意:这并不能归结为简单地为用户分配相应的角色,因为很多角色都可以访问应用程序中的特定功能。
此外,我认为一个功能是有时间限制的 - 有一个开始日期和一个结束日期(结束日期基于用户为某项功能付费的时间段),这与 ASP.Net Membership 提供程序中的角色实现或simplemembership 提供者,其中没有角色的日期概念。
更新:我想说的是,“功能”决定了您在应用程序中可以访问的模块数量,“角色”决定了您可以访问的模块中的多少。
构建自定义解决方案是一种替代方案,还是有任何现成的(免费或付费)可用的?只是不想重新发明轮子!
提前感谢您查看我的问题。
感谢您的回复。
我的想法更多是在框架中构建如此多的东西,以便您可以一对一地绘制角色的工作方式: User.IsInRole("Admin") ==> Account.HasModule("Banking")与 web.config 中配置的授权信息类似,我应该能够编写:
<allow modules="Banking,Finanace"/>