2014-10-10 106 views
1

我知道我不能成爲唯一需要這樣做的人,但我一直無法找到有關如何在ColdFusion中執行此操作的任何信息。我需要根據用戶對象的屬性檢查Active Directory服務帳戶的權限。從我讀過的,我需要檢索構造屬性「allowedAttributesEffective」,但是在CFLDAP中使用時會返回一個空字符串。根據this site,我正在使用一個基本範圍,這是必需的,但無濟於事。任何有關我如何能夠實現這一目標的見解?如何檢索ColdFusion中的AD帳戶權限?

由於代碼被要求......我本週沒有訪問確切的代碼,但以下是對它的估計。請注意,我不記得我正在使用的確切端口;不知道這是否會有所作爲,除非全局編錄不支持allowedAttributesEffective。

編輯:我正在使用端口3268,這是全局編錄的端口。我切換到389,但仍然有相同的問題。

<cfldap 
    server = "#server_name#" 
    port = "389" 
    username = "#serviceAccount.userName#" 
    password = "#serviceAccount.password#" 
    action = "query" 
    filter = "userprincipalName=#my.upn#" 
    name = "name" 
    start = "#my.dn#" 
    scope = "base" 
    attributes = "allowedAttributesEffective"> 

<cfdump var='#name#'> 
+1

您能否包含您正在使用的代碼? – abbottmw 2014-10-11 13:44:05

+0

您是否嘗試指定「過濾器」屬性? 'filter =「(&(objectclass = user)(sAMAccountName =#uid#))」' – PeterKA 2014-10-12 18:43:25

+0

你用什麼開始屬性? – abbottmw 2014-10-14 00:01:38

回答

0

事實證明,代碼是好的,但我使用的服務帳戶將該屬性返回爲空,儘管事實上它擁有幾乎所有屬性的權限。當我使用我自己的帳戶運行此代碼時,它可以正常工作。這不是ColdFusion問題,而是更多的Active Directory問題。還沒有解決它,但代碼方完美地工作。