Implement user and person creation #37

Open
opened 2022-02-26 11:57:40 +01:00 by magicfelix · 9 comments
magicfelix commented 2022-02-26 11:57:40 +01:00 (Migrated from edugit.org)

edugit.org/AlekSIS/official/AlekSIS-App-LDAP/-@2a553a3174

Currently, ldap_create_user() just prepares some variables, but does not interact with the LDAP server.

In order to make this work, we also need a new structure and frontend to configure mappings.

How will this work?

  • The administrator visits the data mangement menu, and chooses "LDAP mappings"
  • The "LDAP mapping" page lists all kinds of models that have mappings configured
  • The adminsitrator can add a new set of mappings for a model class, e.g. for Person
    • The administrator needs to configure the base DN for new objects
    • The administrator needs to configure the objectClasses for new objects
  • Creating or editing a set of mappings leads to a page listing all mappings for this model
  • The mappings are based on the LDAP attributes, with each mapping having the following columns:
    • ldap_attribute: The name of the LDAP attribute
    • read_regex: A regular expression for reading the attribute. This should be, for example (?<first_name>.*) (?<last_name>.*) to dissect a cn
    • write_template: A Django template fed with the model instance, generating the LDAP value

Caveats

  • A migration is needed to transfer the existing preferences into a mapping set for Person
https://edugit.org/AlekSIS/official/AlekSIS-App-LDAP/-/commit/2a553a317451baf748c4a60a6e117515d0e6f82c Currently, ldap_create_user() just prepares some variables, but does not interact with the LDAP server. In order to make this work, we also need a new structure and frontend to configure mappings. ## How will this work? * The administrator visits the data mangement menu, and chooses "LDAP mappings" * The "LDAP mapping" page lists all kinds of models that have mappings configured * The adminsitrator can add a new set of mappings for a model class, e.g. for `Person` * The administrator needs to configure the base DN for new objects * The administrator needs to configure the `objectClass`es for new objects * Creating or editing a set of mappings leads to a page listing all mappings for this model * The mappings are based on the LDAP attributes, with each mapping having the following columns: * `ldap_attribute`: The name of the LDAP attribute * `read_regex`: A regular expression for reading the attribute. This should be, for example `(?<first_name>.*) (?<last_name>.*)` to dissect a `cn` * `write_template`: A Django template fed with the model instance, generating the LDAP value ## Caveats * A migration is needed to transfer the existing preferences into a mapping set for `Person`
magicfelix commented 2022-02-26 11:58:37 +01:00 (Migrated from edugit.org)

changed the description

changed the description
nik commented 2022-06-23 11:31:56 +02:00 (Migrated from edugit.org)

assigned to @nik

assigned to @nik
nik commented 2022-06-23 11:33:16 +02:00 (Migrated from edugit.org)

assigned to @hansegucker and unassigned @nik

assigned to @hansegucker and unassigned @nik
nik commented 2022-06-23 11:33:42 +02:00 (Migrated from edugit.org)

unassigned @hansegucker

unassigned @hansegucker
nik commented 2022-06-23 11:34:05 +02:00 (Migrated from edugit.org)

changed title from {-ldap_create_user is WIP but config option already available-} to {+Implement user creation+}

changed title from **{-ldap_create_user is WIP but config option already available-}** to **{+Implement user creation+}**
hansegucker commented 2022-10-05 19:46:07 +02:00 (Migrated from edugit.org)

assigned to @nik

assigned to @nik
nik commented 2022-10-12 19:53:00 +02:00 (Migrated from edugit.org)

assigned to @magicfelix and unassigned @nik

assigned to @magicfelix and unassigned @nik
nik commented 2022-10-22 17:04:39 +02:00 (Migrated from edugit.org)

changed title from Implement user creation to Implement user {+and person +}creation

changed title from **Implement user creation** to **Implement user {+and person +}creation**
nik commented 2022-10-22 17:04:39 +02:00 (Migrated from edugit.org)

changed the description

changed the description
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
aleksis/AlekSIS-App-LDAP#37
No description provided.