you can add a directive in jdbc-user-service as group-authorities-by-username-query which will fetch group id, group name and authority...
Here is sample code which
Code:
<security:authentication-provider>
<security:password-encoder hash="md5" />
<security:jdbc-user-service id="userService" data-source-ref="dataSource" group-authorities-by-username-query="SELECT g.id, g.group_name, ga.authority FROM groups g, group_members gm, group_authorities ga WHERE gm.username = ? AND g.id = ga.group_id AND g.id = gm.group_id"
users-by-username-query="SELECT username, password, enabled FROM users WHERE username = ?"
authorities-by-username-query="SELECT u.username as 'username', ua.role as 'authority' FROM user_authority ua, user u WHERE ua.username = u.username AND u.username = ?"/>
</security:authentication-provider>
cheers,
Dilan