我正在尝试使用active directory身份验证设置wordpress站点。出现的一个问题是,能否将类别/帖子/博客阅读限制在特定的广告组。
我从来没有见过这样做,我也没有找到任何插件,似乎承诺这一功能。似乎最好的选择是只给一群用户一个具有read\\u private\\u posts功能的角色,但我不确定这会起到什么作用。
我正在尝试使用active directory身份验证设置wordpress站点。出现的一个问题是,能否将类别/帖子/博客阅读限制在特定的广告组。
我从来没有见过这样做,我也没有找到任何插件,似乎承诺这一功能。似乎最好的选择是只给一群用户一个具有read\\u private\\u posts功能的角色,但我不确定这会起到什么作用。
我认为这绝对是可行的。我想我应该首先尝试获取一个LDAP身份验证插件,比如Simple LDAP Login 或LDAP Login Password and Role Manager -- 然后编写一个小型自定义插件来处理内容授权。
下面是自定义插件主要逻辑的大致轮廓:
function checkContentAuthorization( $content )
{
$authorization = array(
\'ldap group 1\' => array(
\'authorizesCategories\' = array( 1, 14, 83 ),
\'authorizedPosts\' = array( 53, 48, 23, 432 )
),
\'ldap group 2\' => array(
\'authorizesCategories\' = array( 54, 9, 34 ),
\'authorizedPosts\' = array( 48, 13, 29, 93 )
),
)
if( is_category() )
{
if( !in_array( $currentCategoryID, $authorization[ currentLDAPUser->groupName ][ \'authorizedCategories\' ] )
$content = \'Access denied\';
}
elseif( is_single() )
{
if( !in_array( $currentPostID, $authorization[ currentLDAPUser->groupName ][ \'authorizedPosts\' ] )
$content = \'Access denied\';
}
return $content;
}
add_filter( \'the_content\', \'checkContentAuthorization\' );
显然,这是一个精简版,有很多细节需要填写,但实际上编写插件本身至少需要半天的时间。不过,这应该会让你找到正确的方向。Wordpress中的角色系统在某种程度上是有限的,所以不要期望它能完成这项工作。尤其是当您将其与一些其他帐户信息结构相结合时,可能会与核心WP数据结构正交组织。
我将首先从身份验证部分开始,并在登录时查看限制内容访问的内容和位置(只要这是您要求的只读内容)。