讨论一下权限设计解决方案

讨论一下权限设计
很久没发帖了,发帖讨论一下权限设计问题

虽然网上很多类似文章,但未必就是最好,或者最适的
怎样的设计,才能控制到某个页面的某个控件的读/写/显示/隐藏
(包含DB设计,页面设计,权限检查逻辑设计)
------解决思路----------------------
你都说了“未必就是最好,或者最适的”

那你不说清楚具体的需求和应用场景, 怎么可能知道“最适合的”
------解决思路----------------------
把你的那些页面和控件的名字也配到数据库里
加载页面的时候验证一下用户权限是否包含这个名字,不就得了
------解决思路----------------------
某个页面的 某个控件,那就需要将控件名称存在数据库中了,对应唯一ID标示
在权限表中的某个字段拼接 id,例如  control1Id,control2Id,等等 
页面初始化,根据控件id 添加control显示;
数据库设计的话,那肯定是 “1对N”的关系;
界面的话,控制权限,一般使用TreeView来显示权限的层级关系;
权限检查,其实就是cs后台判断罢了。

------解决思路----------------------
01 基础数据 
0101  用户管理  xxx.aspx
010101  用户添加
010102  用户修改

db设计就这样了. 

至于UI 菜单就是循环2位parent 在找4位child

页面出来了之后 可以通过查询显示隐藏按钮

或者点击"添加"按钮的时候 判断配置表中是否有010101 就OK了..
------解决思路----------------------
简单就是用asp.net自己的membership.