上次我们说到了数据库操作,由于水平有限,一些疏忽和错误还清大家批评指正,好了,我们接着说。
4、角色管理
说到角色,我们很容易联想到前面提到的登录框,其实它们之间是互相关联工作的。登录框只是角色管理的一个最基本的前台表现层,所以,重点还是在于后台角色逻辑的设计。
一般的,我们设置的角色相对比较少,比如一个新闻系统,大致有管理员、录入员、维护员等角色,系统为每个角色指定了合法的操作,同时在每个页面或者表现层通过判断不同的角色等级来决定角色的某种权限。还有一些管理系统,干脆把角色的等级按大小排列,然后通过表现层来判断等级大小来采取某种操作。
上述的角色管理都是很简单的,一般用来应付小型的管理系统已经足够了。但是,一旦管理系统规模扩大或者进行了某种角色调整,那么,这些管理方法就暴露出了它们的弱点。
如果系统调整了某些角色,那么需要在更新角色库的同时,重新设计表现层的权限控制。如果系统需要在一个角色上分配或调整多个权限,那么角色逻辑修改的地方就更多了,而对于判断等级式的角色管理,几乎是不可能实现了。
因此,综合考虑,角色管理需要解决的问题大概有这几点:角色的权限设置,单角色多权限,统一的表现层角色管理,灵活的角色变更
这样看来,我们需要一个角色管理引擎和一个可定制的角色列表。
目前我的解决是,为每个角色建立一个权限列表,这个列表使用可定制文件或者数据库来保存,权限列表中包含了该角色能够进行的操作,和其他的信息。每种操作建立一个角色列表。这样只需在表现层选择应用相应的操作,就可以使用角色管理引擎自动判断角色权限,同时做出相应操作。