kingcms 文章管理 权限修改
来源:互联网 发布:php汉字转化为ascii码 编辑:程序博客网 时间:2024/05/16 19:42
首先说明一下这个权限修改是指让后台具有文章管理权限的普通角色只能管理自己创建的文章,管理员可以管理所有人的文章。本文只是起到一个抛砖引玉的作用。
1.打开/admin/article/index.asp,搜索king_edt函数,找到其中的
sql="arttitle,artcontent,artfrom,artauthor,artup,artshow,artcommend,arthead,artgrade,artkeywords,artdescription,artpath,artimg,listids,artdate"
这一段,在末尾加入,authorid表示作者的id。
2.再找到同函数中的
'Insert Updateif len(artid)>0 thenconn.execute "update kingart set arttitle='"&safe(data(0,0))&"',artcontent='"&safe(data(1,0))&"',artfrom='"&safe(data(2,0))&"',artauthor='"&safe(data(3,0))&"',artup="&safe(data(4,0))&",artshow="&safe(data(5,0))&",artcommend="&safe(data(6,0))&",arthead="&safe(data(7,0))&",artgrade="&safe(data(8,0))&",artpath='"&safe(data(11,0))&"',artdate='"&safe(data(14,0))&"',artimg='"&safe(data(12,0))&"',listids='"&safe(data(13,0))&"',listid="&listid&",artdescription='"&safe(artdescription)&"',artkeywords='"&safe(artkeywords)&"' where artid="&artid&";"elseconn.execute "insert into kingart ("&sql&",artorder,listid) values ('"&safe(data(0,0))&"','"&safe(data(1,0))&"','"&safe(data(2,0))&"','"&safe(data(3,0))&"',"&safe(data(4,0))&","&safe(data(5,0))&","&safe(data(6,0))&","&safe(data(7,0))&","&safe(data(8,0))&",'"&safe(artkeywords)&"','"&safe(artdescription)&"','"&safe(data(11,0))&"','"&safe(data(12,0))&"','"&safe(data(13,0))&"','"&safe(data(14,0))&"','"&king.id&"',"&king.neworder("kingart","artorder")&","&listid&")"artid=king.newid("kingart","artid")art.createmapend if
为了不使文章的所有者因修改文章而改变,我们只在创建文章时写入作者id。你只需将上面代码中的else部分覆盖就可以了。不同之处就在最后那个king.id上,它表示当前登录的用户id。
3.为了让用户只能看到自己的文章我们还要修改sub king_art()函数,这个也在index.asp中。找到
sql="select "&sql&" from kingart where listid="&listid&" order by artorder desc,artid desc;"
后将其替换为if king.level="admin" thensql="select "&sql&" from kingart where listid="&listid&" order by artorder desc,artid desc;"elsesql="select "&sql&" from kingart where listid="&listid&" and authorid=" &king.id& " order by artorder desc,artid desc;"end if
相信不少人看到这里已经明白了,我再多句嘴,这个king.level是当前用户权限。admin是系统管理员的权限名,剩下的就是sql的问题了,大家可以根据自己的需要随便改查询语句就ok了。
自己建几个账号试试,是不是普通账号只能看见自己的文章而管理员能看见所有人的呢?这只是个简单的修改,还是有漏洞的,要想防止被他人修改还可以加入判断当前用户id是否等于文章作者id,否则不能修改。
还是找到king_edt函数,搜索
if len(form("artid"))>0 then'若表单有值的情况下
在其后追加set rs=conn.execute("select authorid from kingart where artid="&artid&";")if rs("authorid")<>king.id then king.error king.lang("error/invalid")rs.closeset rs=nothing
以上。
- kingcms 文章管理 权限修改
- kingcms留言模块修改
- kingcms(asp)分页美化修改
- 权限管理相关文章
- kingcms
- Project Server 2010权限管理文章目录
- 有关django权限管理的文章
- kingcms onepage 更新无效问题处理 更新时间单位修改
- 修改元数据库 IIS 管理对象权限
- 织梦cms三级栏目权限管理修改
- 五、Liunx 文件权限管理(三) 修改文件权限
- 安卓的整个权限管理:文章整理
- Metaacl.exe 修改元数据库 IIS 管理对象权限
- dedecms5.7 sp1 管理后台修改权限bug
- linux修改文件权限和用户组管理小结
- Android 应用权限管理默认开关的修改方法
- Linux用户管理(权限修改)/etc/passwd详解
- 文件权限管理__1__修改拥有者和所属组
- SAP学习网站(资料全)
- 喜欢XP,就会喜欢Windows 7
- 一段来源于《精通Qt编程》的文件传输功能的代码
- 操作oracle自带scott数据库
- 基于CCoolBar侧边栏的实现
- kingcms 文章管理 权限修改
- php session 购物车(实例)
- PowerPC的PCI总线的dts配置
- 程序员资源集锦
- DevExpress动态生成菜单、子菜单
- Ubuntu下安装可视化SVN客户端Rabbitvcs
- 数据保护的选择方案
- 超链接样式
- 模拟器报错