[auth_ldap] sync ldap_users to Database
This commit is contained in:
parent
26d63b7c7d
commit
0be31d0bfe
|
@ -167,6 +167,28 @@ def export(arguments):
|
||||||
gen.write()
|
gen.write()
|
||||||
|
|
||||||
|
|
||||||
|
def ldap_sync(arguments):
|
||||||
|
from flaschengeist.app import create_app
|
||||||
|
from flaschengeist.controller import userController
|
||||||
|
from flaschengeist.plugins.auth_ldap import AuthLDAP
|
||||||
|
from ldap3 import SUBTREE
|
||||||
|
|
||||||
|
app = create_app()
|
||||||
|
with app.app_context():
|
||||||
|
auth_ldap: AuthLDAP = app.config.get("FG_PLUGINS").get("auth_ldap")
|
||||||
|
if auth_ldap:
|
||||||
|
conn = auth_ldap.ldap.connection
|
||||||
|
if not conn:
|
||||||
|
conn = auth_ldap.ldap.connect(auth_ldap.root_dn, auth_ldap.root_secret)
|
||||||
|
conn.search(auth_ldap.search_dn, "(uid=*)", SUBTREE, attributes=["uid", "givenName", "sn", "mail"])
|
||||||
|
ldap_users_response = conn.response
|
||||||
|
for ldap_user in ldap_users_response:
|
||||||
|
uid = ldap_user["attributes"]["uid"][0]
|
||||||
|
userController.find_user(uid)
|
||||||
|
exit()
|
||||||
|
raise Exception("auth_ldap not found")
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
# create the top-level parser
|
# create the top-level parser
|
||||||
parser = argparse.ArgumentParser()
|
parser = argparse.ArgumentParser()
|
||||||
|
@ -192,5 +214,8 @@ if __name__ == "__main__":
|
||||||
)
|
)
|
||||||
parser_export.add_argument("--plugins", help="Also export plugins (none means all)", nargs="*")
|
parser_export.add_argument("--plugins", help="Also export plugins (none means all)", nargs="*")
|
||||||
|
|
||||||
|
parser_ldap_sync = subparsers.add_parser("ldap_sync", help="synch ldap-users with database")
|
||||||
|
parser_ldap_sync.set_defaults(func=ldap_sync)
|
||||||
|
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
args.func(args)
|
args.func(args)
|
||||||
|
|
Loading…
Reference in New Issue