Active Directory(AD)组身份验证以查看WordPress帖子?

时间:2010-12-28 作者:dadver

我正在尝试使用active directory身份验证设置wordpress站点。出现的一个问题是,能否将类别/帖子/博客阅读限制在特定的广告组。

我从来没有见过这样做,我也没有找到任何插件,似乎承诺这一功能。似乎最好的选择是只给一群用户一个具有read\\u private\\u posts功能的角色,但我不确定这会起到什么作用。

2 个回复
SO网友:Ian Dunn

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

SO网友:hakre

Wordpress中的角色系统在某种程度上是有限的,所以不要期望它能完成这项工作。尤其是当您将其与一些其他帐户信息结构相结合时,可能会与核心WP数据结构正交组织。

我将首先从身份验证部分开始,并在登录时查看限制内容访问的内容和位置(只要这是您要求的只读内容)。

结束

相关推荐