假如系统有以资源,就说新闻吧,管理员可以添加,删除,修改新闻,无论是谁发布的都可以操作,因为管理员是有任意权限的用户,而用户A只能发布,只能删除自己发布的,只能修改自己发布,但可以查看全部的新闻。我们一般就是在系统中判断当前用户是不是管理员,如果是就可以操作,如果不是,再判断是不是创建者,如果是就可以操作,否则就不能操作。上面这种做法写的太死了,因为后面又可能加一个角色,这个角色的用户可以对新闻进行编辑,那又怎么办呢请问这种权限如果不是写死在程序的话,怎么通过配置进行权限管理呢。
解决方案 »
- gridview模板列是放了个input(text),在后台如何取值?
- CommandText = "'"+ sql3 +"'"; sql3来自存储过程 nvarchar
- SqlDataSource能编程修改SelectedCommand,然后显示新的结果吗
- 程序集未加载错误
- 一个关于字符串的问题
- 有没有研究过chinaren同学录上面的那个地图的兄弟,给点提示我....
- 我建了一个class.vb,现在想加载到另一个aspx上显示里面的东西出来,如何加载?
- 關於數據庫語句的問題 知道的進來解答下
- 请教在使用水晶报表是遇到几个问题。
- 请教一个关于Li动态添加漂浮小图标的问题。
- 页面值传递
- .net获取客户端域账号?怎么获取客户端收藏夹目录?是客户端的,不是服务器端的
[Flag]
enum Right
{
None = 0;
AddNew,
Edit,
Delete
....
...
}可以通过二进制的运算符来计算当前用户所拥有的权限
新闻模块 添加 修改 删除 查看 审核...做法可采用honkerhero的二进制权限划分法权限串 11111111
每一位代表一个操作权限,1表示有权限,0表示无权限“请问这种权限如果不是写死在程序的话,怎么通过配置进行权限管理呢”
不要写死,把权限相关的数据都保存到数据库其它地方
这个是一个规则的问题,比如新闻的创建者,本身是没有修改、删除的权限的,但是这个新闻是他创建的
那么他就有了这个权限了,而且这个权限只针对他创建的那条新闻才有的,其他是没有的楼上各位说的是粗的权限,就是谁有xx权限的问题,而我说的是谁在XX情况下有XX权限的问题语言表达不佳,希望大家能明白
登录人一头id吧
判断相等啊
登录人有权限属性吧,如果不是adm就上面的
————
写成一个类,所有要用到的都继承这个类是这个意思吧
模块
新闻模块
新闻信息表(id, 新闻内容,标题,。创建者,创建时间)
权限表(增删改等等);
人员具体权限(账号,权限信息,id,加一个字段判别是否可以删除自己的文章(0,1))
账号对应的是创建者,权限信息对应的是权限表,id对应的是新闻编号。
在发布新闻的时候,就可以写入到人员具体权限中。
先判断是不是他的新闻,在判断是否能修改,删除。