Следите за чувствительностью к регистру. Если у вас есть файл
/Content/bootstrap.css
, и вы перенаправляете в свой Bundle.config на
.Include ( "~ / Content / Bootstrap.css")
не будет загружать CSS.
Вам необходимо сопоставить дерево каталогов при перемещении по нему, чтобы вы могли проверить, исследовали ли вы ранее DN, некоторые Active Directory содержат циклические включения групп. Так что вам нужно остерегаться этого.
Это решение также не требует рекурсии.
В некотором псевдокоде
def getGroupsOfDN(userDN)
groups = []
groupsExplored = []
groupsToExplore = []
current = userDN
groupsToExplore << userDN
while(!groupsToExplore.empty?)
ldapentry = ldap_lookup(current)
if (!ldapentry.nil?)
groups << current
current_groups = ldapentry.getAttributes("memberOf")
current_groups.each do |groupDN|
if(groupsExplored.indexOf(groupDN) != -1)
groupsToExplore << groupDN
groupsExplored << groupDN
end
end
end
groupsToExplore.remove(current)
if (!groupsToExplore.empty?)
current = groupsToExplore.get(0)
end
return groups
end