1. 程式人生 > >dedecms 5.7版 管理員許可權bug修復

dedecms 5.7版 管理員許可權bug修復

dedecms 5.7版本 有管理員許可權的bug問題。

即,當你在管理組中,設定好了稽核授權文件許可權,同時又設定了稽核自己釋出文件的許可權時,前一個設定就無效了。

同時,如果設定了稽核全部文件許可權,又有效。

當我使用預設頻道管理員時,就會發現,別人投稿的內容,看不到,原因就是上面我所說的。

解決辦法1:如果你要稽核別人投的文件,但僅限自己管理的欄目時,請在管理組中將稽核自己釋出文件、列出我釋出的文件、XXX我釋出的文件等等這些涉及自己釋出的許可權,取消掉。就OK了。

2:修改原始碼,使許可權符合層次關係,即,從上到下,越來越小,從下向上許可權越大。

源文件:管理目錄中的 content_list.php

修改前部分中的

//欄目瀏覽許可
$userCatalogSql = '';
if(TestPurview('a_List'))
{
;
}
else if(TestPurview('a_AccList'))
{
if($cid==0 && $cfg_admin_channel == 'array')
{
$admin_catalog = join(',', $admin_catalogs);
$userCatalogSql = " arc.typeid IN($admin_catalog) ";
}
else
{
CheckCatalog($cid, '你無權瀏覽非指定欄目的內容!');
}
if(TestPurview('a_MyList')) $mid = $cuserLogin->getUserID();

}

修改成:


//欄目瀏覽許可
$userCatalogSql = '';
if(TestPurview('a_List'))
{
;
}
else if(TestPurview('a_AccList'))
{
if($cid==0 && $cfg_admin_channel == 'array')
{
$admin_catalog = join(',', $admin_catalogs);
$userCatalogSql = " arc.typeid IN($admin_catalog) ";
}
else
{
CheckCatalog($cid, '你無權瀏覽非指定欄目的內容!');
}


}else if(TestPurview('a_MyList'))
{
if($cid==0 && $cfg_admin_channel == 'array')
{
$admin_catalog = join(',', $admin_catalogs);
$userCatalogSql = " arc.typeid IN($admin_catalog) ";
}
else
{
CheckCatalog($cid, '你無權瀏覽非指定欄目的內容!');
}
$mid = $cuserLogin->getUserID();
}

即可解決問題。