2012-12-05 38 views
1

我的安全问题有些问题。 我想为我的网站的管理员添加安全问题,并且我找到了“安全问题”模块。它工作良好,但对于经过认证的用户而言,不适用于管理员。我想在登录后仅查看管理员而不是用户的安全问题。 我试着读这个模块的.module文件,但很难理解。 那么,我该怎么处理这个模块。 非常感谢!指定角色的Drupal安全

+0

这应该理想地进入模块问题队列中的一个补丁。 – greggles

回答

1

如果你看看.module文件中,你会发现这条线,线377

function _security_questions_user_login(&$form, &$form_state, $form_id) {

这是用户登录表单被改变,包括安全问题的功能。

什么我建议是增加一个if语句来满足你的条件,如:

global $user; 

// Don't alter form if user isn't an administrator 
if (!in_array('administrator', array_values($user->roles))) { 
    return; 
} 

一旦你做到了这一点,所有你需要做的就是去权限页面和取消选中该框允许管理员通过绕过安全问题

+0

非常感谢!我会尝试:D –

+0

我已经尝试了您的建议,但问题是此模块默认不会为管理员添加安全问题,但对于其他任何角色。我有3个角色:“普通用户”,“管理员”,“模式”,我不想向“普通用户”添加问题。你可以帮我吗??? –

+0

编辑答案,请再试一次:-) – Rawkode