ddd 访问权限_探讨DDD中角色权限与DCI的使用

本文初衷

之前在学习DDD的时候,一直被权限与角色困扰。

我们知道在Asp.net MVC 的Controller或Action加上特性标签[Authorize],就可以实现权限控制。

[Authorize(Roles ="Manager")]public classMainController : Controller

{//GET: Main

publicActionResult Index()

{returnView();

}

}

但是在应用层中,如何使用好角色?在领域层如何设计好角色?如何使角色系统变得更优雅,更易扩展?

上述问题将是本位探讨的内容。

问题引入

我们模拟开发一个简单的公司内部审批系统,有以下两种角色:

1.经理:审批申请单。

2.员工:提出请假申请单。

设计如下:

角色接口:

public interfaceIRole

{}

a.经理接口:

public interfaceIManager : IRole

{///

///批准申请单///

///

voidApprovalOrder(ApplyOrder applyOrder);

}

b.员工接口:

///

///员工接口///

public interfaceIEmployee : IRole

{///

///提交申请///

///

///

ApplyOrder ApplyNewOrder(stringcontent);

}

c.用户类:

public classUser

{publicUser()

{

Roles= new List();

}public string Id { get; set; }///

///名字///

public string Name { get; set; }///

///用户的角色字符串///

public List

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值