0
我想知道,如果在AD用戶它是在一個特定的安全組安全組,我嘗試使用在https://www.pingidentity.com/en/blog/2013/07/25/looping_in_ognl.html的例子,並改變它適合我的需要的PingFederate使用OGNL表達式來獲得
#admin="",
#groups = #this.get("ds.LDAP.memberOf")!=null?#this.get("ds.LDAP.memberOf").getValues() : {},
#i= 0,
#groups.{
#group = new javax.naming.ldap.LdapName(#groups[#i]),
#cn = #group.getRdn(#group.size() - 1).getValue().toString(),
#admin=#cn.equals("Managers")?true:"",
#i = #i + 1 },
#admin=(#admin!="")?true:""
但是,當CN正在搜索列表中的第一個時,我的腳本才返回true,否則返回空。 我檢查了組數組的長度,它只有一個項目包含所有組 ,但Active Directory正在返回所有memberOf,如CN = Managers,CN = Users,DC = company,DC = com,CN =財務,CN =用戶,DC =公司,DC = com,CN =員工,CN =用戶,DC =公司,DC = com 。
感謝埃裏克,該訣竅我說的唯一的事情就是像CN =經理安全組的全名,CN =用戶,DC =公司,DC = COM而不僅僅是經理 – agalli