java - Combine a LdapUser and AppUserModel to create a global User -


i have make application enterprise provide authentication active directory (ldap). app can contain users don't have ldap account (temp users interim), can create custom user in app database.

ldapuser.java

public class ldapuser {     private string forname;     private string lastname;     private byte[] avatar; } 

usermodel.java

@entity @data public class usermodel {     @id     @generatedvalue(strategy = generationtype.identity)     private integer id;     private string username;     private string password;     private string data; } 

so, users using ldap won't have password in database, , other ones will.

when tries connect app, first retrieve ldapuser object ldap. if user not exist, i'll load usermodel username/password. , if user exists, i'll load username.

edit: @ point, sure understood ldapuser have informations in database too. ldapuser have application related informations in database too, , non ldap-user won't have ldapuser class informations (logic).

now problematic know cleaner way combine usermodel , ldapuser create authenticateduser can have nullable ldapuser , usermodel methods.

i tried first following template

@getter public final class authenticateduser extends usermodel {     private final optional<ldapuser> ldap;      public static authenticateduser of(@nullable ldapuser ldapuser, usermodel user) {         authenticateduser auth = new authenticateduser(ldapuser);         auth.setid(user.getid());         auth.setusername(user.getusername());         auth.setpassword(user.getpassword());         auth.setdata(user.getdata());         return auth;     }      private authenticateduser(ldapuser ldapuser)     {         this.ldap = optional.ofnullable(ldapuser);     } } 

i'm wondering if way bad, cause each modification on usermodel force me update static method authenticateduser of(@nullable utilisateur ldapuser, user user). , way, create second instance of usermodel first one, don't find clean. you? there known pattern this, or improved idea?


Comments

Popular posts from this blog

javascript - Create a stacked percentage column -

Optimising Firebase database by automatically overwriting data -

javascript - Angular UI-Grid customTemplate directive causing rows to load slowly/? -