Основываясь на ответе Свена, я нашел использование коллекций. Такой способ помог мне выполнить то, что вы хотите, и позволить мне добавить больше элементов в dict:
import collections
x=[1,2,20,6,210]
z=collections.OrderedDict.fromkeys(x)
z
OrderedDict([(1, None), (2, None), (20, None), (6, None), (210, None)])
Если вы хотите добавить элементы, но все еще рассматривайте его как набор, который вы можете просто сделать:
z['nextitem']=None
И вы можете выполнить операцию типа z.keys () на dict и получить набор:
z.keys()
[1, 2, 20, 6, 210]
Имейте Вас, пытался смотреть на них:
http://saush.wordpress.com/2006/07/18/rubyrails-user-authentication-with-microsoft-active-directory/
http://xaop.com/blog/2008/06/17/simple-windows-active-directory-ldap-authentication-with-rails/
Я начал использовать рубин-activedirectory и даже расширил его несколько вещей, разместив judy-activedirectory в GitHub.
Выполнение следующего повторения, я обнаружил, что ActiveLdap имеет намного лучшую кодовую базу, и я серьезно собираюсь переключаться на него. У кого-либо есть личный опыт с этим?
Это более анекдотично, чем реальный ответ...
у меня был подобный опыт с помощью сервера OpenLDAP и Samba. Я не мог найти, что библиотека действительно сделала то, что я хотел так, я прокрутил свои собственные классы помощника.
я использовал ldapbrowser для наблюдения то, что заполнили поля Samba, когда я создал пользователя "официальный" путь и и в основном копировал это.
единственной хитрой/нестандартной вещью LDAP было сумасшедшее шифрование пароля, которое мы имеем:
userPass:
"{MD5}" + Base64.encode64(Digest::MD5.digest(pass))
sambaNTPassword:
OpenSSL::Digest::MD4.hexdigest(Iconv.iconv("UCS-2", "UTF-8", pass).join).upcase
Для эти def authenticate(user, pass)
функция я пытаюсь заставить LDAP связывать с доменом с помощью их учетных данных, если я ловлю исключение тогда отказавший вход в систему, иначе впускаю их.
Вы проверили ldap-activerecord-gateway thoughtbot? Это могло бы быть что-то для Вас для рассмотрения...
http://github.com/thoughtbot/ldap-activerecord-gateway/tree/master