Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JDBCRealm with JPA

New to Java EE6 and I'm trying to set up a JDBCRealm. Many of the examples suggest making the tables that hold user/group information by hand in SQL.

Is there a more standard "JPA" way of doing it though? The tables Glassfish expects don't fit with the kind of table structures you'll end up with if you use e.g. a OneToMany mapping (which is what I was hoping I could use).

I read Glassfish still uses JDBC to accomplish the JDBCRealm, which would explain why. And I came across this blog which suggests a way to do it with JPA.

http://www.codeproject.com/Articles/238779/J2EE-JDBC-based-authentication-with-JPA-Entities-i

But is there an 'official' way to do it with JPA? I want to make sure I follow best-practice to ensure I have a secure application.

Thanks

like image 324
Richard Avatar asked May 15 '12 20:05

Richard


1 Answers

A few months ago i wanted to create my JDBC Realm with glassfish and i also had lots of doubts. I will try to explain you more or less how i did it using JPA.

Many of the examples suggest making the tables that hold user/group information by hand in SQL

I disagree, if you are using JPA for other tasks related to persistence why would you make an exception when regarding to security. So JPA is a good idea. Copy/Pasting a chunk of SQL in your DB console is easy but better if you have entities that will automatically will always create those tables for you when you deploy your app.

The tutorial you are following is fine, i think there is no such think as a best practice.

I will give you some resources that i think will help you creating the JDBC realm. Maybe you are interested in something a bit more simple, just to warm up, in that case have a look at this post:

http://javing.blogspot.in/2012/05/here-in-this-video-you-can-see-how-i.html

It talks about ROLE based security in glassfish, i think it can give you some tips.

If you want to know how to create the JDBC realm with JPA, follow this question i made time ago, at the end you will find the solution:

Glassfish 3 security - Form based authentication using a JDBC Realm

If you paste some code we could help you trouble shouting in case you get stuck.

like image 58
javing Avatar answered Oct 14 '22 23:10

javing