我们知道授权的东西是一个横切关注点,我们尽我们所能避免在我们的视图中合并业务逻辑。
但是我仍然没有找到一种优雅的方法来使用当前用户角色过滤 UI 组件(例如小部件、表单元素、表格等),而不会用业务逻辑污染视图。这同样适用于模型绑定。
例子
形式:产品创作
领域:
- 姓名
- 价格
- 折扣
角色:
角色管理员
- 允许查看和修改名称字段
- 允许查看和修改价格字段
- 允许查看和修改折扣
角色管理员助理
- 允许查看和修改名称
- 允许查看和修改价格
Fields
每个角色表现出来的都不一样,也model binding
需要忽略discount field
'Administrator assistant'这个角色。
你会怎么做?