我认为这绝对是可行的。我想我应该首先尝试获取一个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\' );
显然,这是一个精简版,有很多细节需要填写,但实际上编写插件本身至少需要半天的时间。不过,这应该会让你找到正确的方向。