Guest User

Untitled

a guest
Jun 24th, 2018
150
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.67 KB | None | 0 0
  1. ## Usuario
  2.  
  3. class Usuario < ActiveLdap::Base
  4. ldap_mapping :dn_attribute => "uid", # Chave primária de pesquisa
  5. :prefix => "ou=People", # Localizacao da info desejada
  6. :classes => ["inetOrgPerson"] # Filtros extras
  7.  
  8. def to_param
  9. begin
  10. Base64.encode64(get_attribute(dn_attribute)).chomp
  11. rescue
  12. ""
  13. end
  14. end
  15.  
  16. def self.find_by_id(id)
  17. find Base64.decode64(id)
  18. end
  19.  
  20. end
  21.  
  22. ## Grupo
  23.  
  24. class Grupo < ActiveLdap::Base
  25. ldap_mapping :dn_attribute => "cn", # Chave primária de pesquisa
  26. :prefix => "ou=People", # Localização da info desejada
  27. :classes => ["groupofuniquenames"] # Filtros extras
  28.  
  29. has_many :membros, :class_name => "Usuario",
  30. :wrap => "uniqueMember"
  31.  
  32. def to_param
  33. begin
  34. Base64.encode64(get_attribute(dn_attribute)).chomp
  35. rescue
  36. ""
  37. end
  38. end
  39.  
  40. def self.find_by_id(id)
  41. find Base64.decode64(id)
  42. end
  43.  
  44. end
  45.  
  46. ## Reloading Usuario: First
  47. >> a = Usuario.find(:all).first
  48. => #<Usuario objectClass:<top, person, inetOrgPerson, ntUser, organizationalPerson, inetUser>, must:<cn, ntUserDomainId, objectClass, sn>, may:<audio, businessCategory, carLicense, departmentNumber, description, destinationIndicator, displayName, employeeNumber, employeeType, facsimileTelephoneNumber, givenName, homePhone, homePostalAddress, inetUserHttpURL, inetUserStatus, initials, internationaliSDNNumber, jpegPhoto, l, labeledUri, mail, manager, memberOf, mobile, ntUniqueId, ntUserAcctExpires, ntUserAuthFlags, ntUserBadPwCount, ntUserCodePage, ntUserComment, ntUserCountryCode, ntUserCreateNewAccount, ntUserDeleteAccount, ntUserFlags, ntUserHomeDir, ntUserHomeDirDrive, ntUserLastLogoff, ntUserLastLogon, ntUserLogonHours, ntUserLogonServer, ntUserMaxStorage, ntUserNumLogons, ntUserParms, ntUserPasswordExpired, ntUserPrimaryGroupId, ntUserPriv, ntUserProfile, ntUserScriptPath, ntUserUniqueId, ntUserUnitsPerWeek, ntUserUsrComment, ntUserWorkstations, o, ou, pager, photo, physicalDeliveryOfficeName, postOfficeBox, postalAddress, postalCode, preferredDeliveryMethod, preferredLanguage, registeredAddress, roomNumber, secretary, seeAlso, st, street, telephoneNumber, teletexTerminalIdentifier, telexNumber, title, uid, userCertificate, userPKCS12, userPassword, userSMIMECertificate, x121Address, x500UniqueIdentifier>, audio: [], businessCategory: [], carLicense: [], cn: ["ObserviSync Raidbr"], commonName: ["ObserviSync Raidbr"], departmentNumber: [], description: [], destinationIndicator: [], displayName: [], employeeNumber: [], employeeType: [], facsimileTelephoneNumber: [], fax: [], givenName: ["ObserviSync"], homePhone: [], homePostalAddress: [], inetUserHttpURL: [], inetUserStatus: [], initials: [], internationaliSDNNumber: [], jpegPhoto: [], l: [], labeledUri: [], labeledurl: [], locality: [], localityname: [], mail: [], manager: [], memberOf: [], mobile: [], mobileTelephoneNumber: [], ntUniqueId: ["ac39281fa445c640a1d7eeef992411dd"], ntUserAcctExpires: ["9223372036854775807"], ntUserAuthFlags: [], ntUserBadPwCount: [], ntUserCodePage: ["0"], ntUserComment: [], ntUserCountryCode: [], ntUserCreateNewAccount: [], ntUserDeleteAccount: ["true"], ntUserDomainId: ["observisync"], ntUserFlags: [], ntUserHomeDir: [], ntUserHomeDirDrive: [], ntUserLastLogoff: ["0"], ntUserLastLogon: ["0"], ntUserLogonHours: [], ntUserLogonServer: [], ntUserMaxStorage: [], ntUserNumLogons: [], ntUserParms: [], ntUserPasswordExpired: [], ntUserPrimaryGroupId: [], ntUserPriv: [], ntUserProfile: [], ntUserScriptPath: [], ntUserUniqueId: [], ntUserUnitsPerWeek: [], ntUserUsrComment: [], ntUserWorkstations: [], o: [], objectClass: ["top", "person", "inetOrgPerson", "ntUser", "organizationalPerson", "inetUser"], organizationalUnitName: [], organizationname: [], ou: [], pager: [], pagerTelephoneNumber: [], photo: [], physicalDeliveryOfficeName: [], postOfficeBox: [], postalAddress: [], postalCode: [], preferredDeliveryMethod: [], preferredLanguage: [], registeredAddress: [], rfc822mailbox: [], roomNumber: [], secretary: [], seeAlso: [], sn: ["Raidbr"], st: [], stateOrProvinceName: [], street: [], streetaddress: [], surName: ["Raidbr"], telephoneNumber: [], teletexTerminalIdentifier: [], telexNumber: [], title: [], uid: ["observisync"], userCertificate: [], userPKCS12: [], userPassword: [], userSMIMECertificate: [], userid: ["observisync"], x121Address: [], x500UniqueIdentifier: []>
  49. >> a.reload
  50. ActiveLdap::EntryNotFound: Can't find DN 'uid=observisync,ou=People,dc=observi,dc=com,dc=br' to reload
  51. from /usr/pkg/lib/ruby/gems/1.8/gems/activeldap-1.0.2/lib/active_ldap/base.rb:896:in `reload'
  52. from (irb):4
  53. from :0
  54.  
  55. ## Reloading Usuario: Last
  56.  
  57. >> a = Usuario.find(:all).last
  58. => #<Usuario objectClass:<inetOrgPerson, observiProxyUser, organizationalPerson, top, person>, must:<cn, objectClass, sn>, may:<alarmTo, audio, businessCategory, carLicense, dayOfMonth, departmentNumber, description, destinationIndicator, displayName, employeeNumber, employeeType, facsimileTelephoneNumber, givenName, homePhone, homePostalAddress, host, initials, internationaliSDNNumber, ipHostNumber, jpegPhoto, l, labeledUri, mail, manager, mobile, month, o, ou, pager, photo, physicalDeliveryOfficeName, postOfficeBox, postalAddress, postalCode, preferredDeliveryMethod, preferredLanguage, registeredAddress, roomNumber, secretary, seeAlso, st, street, telephoneNumber, teletexTerminalIdentifier, telexNumber, timeWindow, title, uid, userCertificate, userPKCS12, userPassword, userSMIMECertificate, weekDay, x121Address, x500UniqueIdentifier>, alarmTo: [], audio: [], businessCategory: [], carLicense: [], cn: ["Rafael"], commonName: ["Rafael"], dayOfMonth: [], departmentNumber: [], description: [], destinationIndicator: [], displayName: [], employeeNumber: [], employeeType: [], facsimileTelephoneNumber: [], fax: [], givenName: [], homePhone: [], homePostalAddress: [], host: [], initials: [], internationaliSDNNumber: [], ipHostNumber: [], jpegPhoto: [], l: [], labeledUri: [], labeledurl: [], locality: [], localityname: [], mail: [], manager: [], mobile: [], mobileTelephoneNumber: [], month: [], o: [], objectClass: ["inetOrgPerson", "observiProxyUser", "organizationalPerson", "top", "person"], organizationalUnitName: [], organizationname: [], ou: [], pager: [], pagerTelephoneNumber: [], photo: [], physicalDeliveryOfficeName: [], postOfficeBox: [], postalAddress: [], postalCode: [], preferredDeliveryMethod: [], preferredLanguage: [], registeredAddress: [], rfc822mailbox: [], roomNumber: [], secretary: [], seeAlso: [], sn: ["Cotelha"], st: [], stateOrProvinceName: [], street: [], streetaddress: [], surName: ["Cotelha"], telephoneNumber: [], teletexTerminalIdentifier: [], telexNumber: [], timeWindow: [], title: [], uid: ["rafael"], userCertificate: [], userPKCS12: [], userPassword: [], userSMIMECertificate: [], userid: ["rafael"], weekDay: [], x121Address: [], x500UniqueIdentifier: []>
  59. >> a.reload
  60. => #<Usuario objectClass:<inetOrgPerson, observiProxyUser, organizationalPerson, top, person>, must:<cn, objectClass, sn>, may:<alarmTo, audio, businessCategory, carLicense, dayOfMonth, departmentNumber, description, destinationIndicator, displayName, employeeNumber, employeeType, facsimileTelephoneNumber, givenName, homePhone, homePostalAddress, host, initials, internationaliSDNNumber, ipHostNumber, jpegPhoto, l, labeledUri, mail, manager, mobile, month, o, ou, pager, photo, physicalDeliveryOfficeName, postOfficeBox, postalAddress, postalCode, preferredDeliveryMethod, preferredLanguage, registeredAddress, roomNumber, secretary, seeAlso, st, street, telephoneNumber, teletexTerminalIdentifier, telexNumber, timeWindow, title, uid, userCertificate, userPKCS12, userPassword, userSMIMECertificate, weekDay, x121Address, x500UniqueIdentifier>, alarmTo: [], audio: [], businessCategory: [], carLicense: [], cn: ["Rafael"], commonName: ["Rafael"], dayOfMonth: [], departmentNumber: [], description: [], destinationIndicator: [], displayName: [], employeeNumber: [], employeeType: [], facsimileTelephoneNumber: [], fax: [], givenName: [], homePhone: [], homePostalAddress: [], host: [], initials: [], internationaliSDNNumber: [], ipHostNumber: [], jpegPhoto: [], l: [], labeledUri: [], labeledurl: [], locality: [], localityname: [], mail: [], manager: [], mobile: [], mobileTelephoneNumber: [], month: [], o: [], objectClass: ["inetOrgPerson", "observiProxyUser", "organizationalPerson", "top", "person"], organizationalUnitName: [], organizationname: [], ou: [], pager: [], pagerTelephoneNumber: [], photo: [], physicalDeliveryOfficeName: [], postOfficeBox: [], postalAddress: [], postalCode: [], preferredDeliveryMethod: [], preferredLanguage: [], registeredAddress: [], rfc822mailbox: [], roomNumber: [], secretary: [], seeAlso: [], sn: ["Cotelha"], st: [], stateOrProvinceName: [], street: [], streetaddress: [], surName: ["Cotelha"], telephoneNumber: [], teletexTerminalIdentifier: [], telexNumber: [], timeWindow: [], title: [], uid: ["rafael"], userCertificate: [], userPKCS12: [], userPassword: [], userSMIMECertificate: [], userid: ["rafael"], weekDay: [], x121Address: [], x500UniqueIdentifier: []>
  61.  
  62.  
  63. ## Reloading Grupo: First
  64. >> g = Grupo.find(:all).first
  65. => #<Grupo objectClass:<top, groupOfUniqueNames, ntGroup>, must:<cn, ntUserDomainId, objectClass>, may:<businessCategory, description, l, ntGroupAttributes, ntGroupCreateNewGroup, ntGroupDeleteGroup, ntGroupId, ntGroupType, ntUniqueId, o, ou, owner, seeAlso, uniqueMember>, businessCategory: [], cn: ["HelpServicesGroup"], commonName: ["HelpServicesGroup"], description: ["Grupo para o centro de ajuda e suporte"], l: [], locality: [], localityname: [], ntGroupAttributes: [], ntGroupCreateNewGroup: [], ntGroupDeleteGroup: ["true"], ntGroupId: [], ntGroupType: ["-2147483644"], ntUniqueId: ["593b2e87dfeef84e90c8bb8b62ff69ca"], ntUserDomainId: ["HelpServicesGroup"], o: [], objectClass: ["top", "groupofuniquenames", "ntGroup"], organizationalUnitName: [], organizationname: [], ou: [], owner: [], seeAlso: [], uniqueMember: [#<ActiveLdap::DistinguishedName:0x7f7ff7736670 @rdns=[{"uid"=>"SUPPORT_388945a0"}, {"ou"=>"People"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>]>
  66. >> g.reload
  67. ActiveLdap::EntryNotFound: Can't find DN 'cn=HelpServicesGroup,ou=People,dc=observi,dc=com,dc=br' to reload
  68. from /usr/pkg/lib/ruby/gems/1.8/gems/activeldap-1.0.2/lib/active_ldap/base.rb:896:in `reload'
  69. from (irb):6
  70. from :0
  71. >> g.reload
  72. ActiveLdap::EntryNotFound: Can't find DN 'cn=HelpServicesGroup,ou=People,dc=observi,dc=com,dc=br' to reload
  73. from /usr/pkg/lib/ruby/gems/1.8/gems/activeldap-1.0.2/lib/active_ldap/base.rb:896:in `reload'
  74. from (irb):7
  75. from :0
  76.  
  77. ## Reloading Grupo: Last
  78. >> g = Grupo.find(:all).last
  79. => #<Grupo objectClass:<top, ntGroup, groupOfUniqueNames, observiProxyGroup>, must:<cn, ntUserDomainId, objectClass>, may:<alarmTo, businessCategory, dayOfMonth, description, host, ipHostNumber, l, month, ntGroupAttributes, ntGroupCreateNewGroup, ntGroupDeleteGroup, ntGroupId, ntGroupType, ntUniqueId, o, ou, owner, proxyDGroup, seeAlso, timeWindow, uniqueMember, weekDay>, alarmTo: [], businessCategory: [], cn: ["Desenv"], commonName: ["Desenv"], dayOfMonth: [], description: ["Todos os usuários do domínio"], host: [], ipHostNumber: ["192.168.1.1", "192.168.1.23"], l: [], locality: [], localityname: [], month: [], ntGroupAttributes: [], ntGroupCreateNewGroup: [], ntGroupDeleteGroup: ["true"], ntGroupId: [], ntGroupType: ["-2147483646"], ntUniqueId: ["19e00385d5026a4da28ac306aab6f767"], ntUserDomainId: ["Usuários do domínio"], o: [], objectClass: ["top", "ntGroup", "groupOfUniqueNames", "observiProxyGroup"], organizationalUnitName: [], organizationname: [], ou: [], owner: [], proxyDGroup: [#<ActiveLdap::DistinguishedName:0x7f7ff76b4260 @rdns=[{"cn"=>"expediente"}, {"ou"=>"listsets"}, {"ou"=>"proxy"}, {"ou"=>"observi"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>, #<ActiveLdap::DistinguishedName:0x7f7ff76b2d20 @rdns=[{"cn"=>"expediente2"}, {"ou"=>"listsets"}, {"ou"=>"proxy"}, {"ou"=>"observi"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>], seeAlso: [], timeWindow: [], uniqueMember: [#<ActiveLdap::DistinguishedName:0x7f7ff76b0b60 @rdns=[{"uid"=>"evaldo"}, {"ou"=>"People"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>], weekDay: [2, 3, 4, 5, 6]>
  80. >> g.reload
  81. => #<Grupo objectClass:<top, ntGroup, groupOfUniqueNames, observiProxyGroup>, must:<cn, ntUserDomainId, objectClass>, may:<alarmTo, businessCategory, dayOfMonth, description, host, ipHostNumber, l, month, ntGroupAttributes, ntGroupCreateNewGroup, ntGroupDeleteGroup, ntGroupId, ntGroupType, ntUniqueId, o, ou, owner, proxyDGroup, seeAlso, timeWindow, uniqueMember, weekDay>, alarmTo: [], businessCategory: [], cn: ["Desenv"], commonName: ["Desenv"], dayOfMonth: [], description: ["Todos os usuários do domínio"], host: [], ipHostNumber: ["192.168.1.1", "192.168.1.23"], l: [], locality: [], localityname: [], month: [], ntGroupAttributes: [], ntGroupCreateNewGroup: [], ntGroupDeleteGroup: ["true"], ntGroupId: [], ntGroupType: ["-2147483646"], ntUniqueId: ["19e00385d5026a4da28ac306aab6f767"], ntUserDomainId: ["Usuários do domínio"], o: [], objectClass: ["top", "ntGroup", "groupOfUniqueNames", "observiProxyGroup"], organizationalUnitName: [], organizationname: [], ou: [], owner: [], proxyDGroup: [#<ActiveLdap::DistinguishedName:0x7f7ff76a1b10 @rdns=[{"cn"=>"expediente"}, {"ou"=>"listsets"}, {"ou"=>"proxy"}, {"ou"=>"observi"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>, #<ActiveLdap::DistinguishedName:0x7f7ff76a05d0 @rdns=[{"cn"=>"expediente2"}, {"ou"=>"listsets"}, {"ou"=>"proxy"}, {"ou"=>"observi"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>], seeAlso: [], timeWindow: [], uniqueMember: [#<ActiveLdap::DistinguishedName:0x7f7ff769e410 @rdns=[{"uid"=>"evaldo"}, {"ou"=>"People"}, {"dc"=>"observi"}, {"dc"=>"com"}, {"dc"=>"br"}]>], weekDay: [2, 3, 4, 5, 6]>
Add Comment
Please, Sign In to add comment