处理Prism模块的权利

时间:2014-04-15 06:34:05

标签: c# wpf prism

我们正在开发WPF,Prism& amp; C#并使用MVVM模式

我正在开发权利部分,我们已决定权利应该在屏幕级别[这是最终的,我们无法改变这一点]。

我们有3个模块,管理员,交易,报告

以下是模块化的屏幕名称: -

Admin - DropDown Maintenance,User Maintenance etc.
Transactions - Products,Orders etc.
Reports - Products Reports,Order Reports etc.

我们的应用程序中有超过50个屏幕

由于权利是基于屏幕级别的,所以我决定制作一类常量或枚举。

我也在考虑如果用户不能访问特定模块的所有屏幕,那么我们就不应该显示该模块。这个问题没有得到实现它的任何好主意。

我需要一个合适的结构,通过这种结构我可以轻松识别特定屏幕的模块,因为我有权在屏幕上而不是在模块上。

我想到的是,我可以按模块创建单独的枚举,但问题是枚举不支持inhertence,我创建的权利方法对于所有屏幕都是通用的。

public enum Reports //module name
{
ProductReport, //screen name
OrderReport //screen name
}

public enum Admin //module name
{
DropDownMaintenance, //screen name
UserMaintenance //screen name
}

我验证权利的方法

public bool VerifyEntitlement(string screen,AccessEnum access) {}

0 个答案:

没有答案