刚踏入这行,最近刚开始做一个网站,可是对于数据库中用户的角色,权限等设计.确实建立了明确关系,并建立了
角色[Id,RoleName]表
权限[Id,Competence]表
角色权限关联表[Id,rid,cid]表.
虽然角色之前已经明确指出.但是对于 一个角色 例如(用户,管理员) 可以干什么来说,还是得 程序的业务层来明确指出. 硬编码在里面. 这样看来 建立的这些 什么权限表中的权限还有什么用, 如同虚设. 只不过能让你知道 这个网站都有什么能做什么功能罢了.对于这件事真是十分难受何.这样的系统怎样会有扩展!
后来粗略的想了下,是不是能这样实现.
当一个用户想要做件关系到数据的事情时,能走到数据库那种.
实体类中 定义 2个 类 :
⑴ Access类 : 此类封装 此时操作事情的用户 ,和操作的具体实现. 是访问数据库时 传给下层的对象.
⑵ Reply 类: 此类封装 数据库执行结果和 返回的信息. 是数据库执行完成后 返回的数据.
数据库中 定义 一张表:
此表中的字段存储 [操作的存储过程] [能执行此存储过程的权限号]
然后在 DAL数据访问层中 :
先访问数据库 中对于此次操作的权限号 集合 //这里也许把上一张表中的数据放在访问服务器的内存会更好.
然后验证用户是否有此权限.在做相应处理.
感觉在DAL层中的此举动,放在数据库中的存储过程中 实现也可以.
可是项目已定型.想改都没机会了.相信工作量也会很大.唉
今天先粗略想下.明天细细想想..
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-663233/ ,如需转载,请注明出处,否则将追究法律责任。