ldap.go 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package ldap
  2. import (
  3. "log"
  4. auth "imuslab.com/arozos/mod/auth"
  5. "imuslab.com/arozos/mod/auth/ldap/ldapreader"
  6. reg "imuslab.com/arozos/mod/auth/register"
  7. db "imuslab.com/arozos/mod/database"
  8. )
  9. type ldapHandler struct {
  10. ag *auth.AuthAgent
  11. ldapreader *ldapreader.LdapReader
  12. }
  13. const (
  14. BindUsername = "uid=root,cn=users,dc=dsm"
  15. BindPassword = "12345678"
  16. FQDN = "192.168.1.147"
  17. BaseDN = "cn=users,dc=dsm"
  18. )
  19. //NewOauthHandler xxx
  20. func NewLdapHandler(authAgent *auth.AuthAgent, register *reg.RegisterHandler, coreDb *db.Database) *ldapHandler {
  21. log.Println("Starting LDAP server...")
  22. err := coreDb.NewTable("ldap")
  23. if err != nil {
  24. log.Println("Failed to create oauth database. Terminating.")
  25. panic(err)
  26. }
  27. LDAPHandler := ldapHandler{
  28. ag: authAgent,
  29. ldapreader: ldapreader.NewLDAPReader(BindUsername, BindPassword, FQDN, BaseDN),
  30. }
  31. return &LDAPHandler
  32. }
  33. func (handler *ldapHandler) SyncInformation() {
  34. result, _ := handler.ldapreader.GetAllUser()
  35. for _, v := range result {
  36. v.PrettyPrint(4)
  37. }
  38. }