You actually have two different issues here.
It is easy in a Spring app to lookup and use EJBs, but really fun and crazy when you want EJBs to access Spring Beans in an ApplicationContext. There are a couple of solutions out there. I would Google for that first. One possible solution might be Spring <spring-configured> which allows Dependency Injection to happen to objects that Spring doesn't create but someone else does with "new"
If you can get that to work, then you might be able to hook up Spring Security at the EJB level, although, like you said, no one does that, or I should say, extremely rare cases because people using Spring realize that that is a very stupid architecture design and the architect is clueless on Spring. You can tell your architect I said that. (I worked at JBoss and with EJBs and as an Architect for many years.)
About your role issues. I have a very good guess on what your problem could be without you telling me what it is or any code or config.
Make sure when you get the data for the roles, that by default the have the
string "ROLE_" prefix them. That is the default prefix in Spring Security. There is a way with the AuthenticationManager to change the prefix, or it might be the userDetailsService as an attribute in its xml tag, but I always forget where that is. So if you have just "ADMIN", "USER", etc in your data store, then you must add "ROLE_" in front of it. Back when I spent 3 days trying to figure out why my role based security didn't work.
Mark