Java EE Security Concept

249 Views Asked by At

I need to create an application with authentication and authorization using Java EE 6 (Glassfish Server). I read a lot about Java EE 6 security and just wanted to ask if my concept is correct:

Every user in the company has an account according to "X123456". I want to use this for LDAP Authentication:

Application ---> LDAP

So, I can use the company's infrastructure to authorize the user.

However I want to be in control of the roles in my application. So, I want to define my own roles using JACC. Therefore I will create a database with a user-to-role mapping,

Example: "X123456 -> ADMIN".

The benefits would be:

  • I don't need to store any password
  • I can create a kind of admin panel in my application where I can set the existing roles to users dynamically

Do you think this would be technically possible and good practice?

Alternative: Would it be possible to define the roles (Admin, User) in Active Directory and query it via LDAP? So I could outsource my user-to-role mapping into active directory.

Update:

  • For authentication I currently use a LDAP-Realm (user, password).
  • For authorization I want to use a database (rolename, user). However I don't know how to tell my application to use the database for authorization. If I would use a JDBC-Realm, I could specify the Group/Role table and column. Is there a way to tell my application to just use the JDBC-Realm for authorization?
0

There are 0 best solutions below