hi,
All we did was that we created a custom valve that extends
org.apache.catalina.valves.ValveBase;
in the invoke method , we added the user principals to the request using
following lines of code.
| .
| List roles = new ArrayList();
| roles.add("Authenticated");
| roles.add("User");
| roles.add("Admin");
| roles.add("CustomRole"); // add any roles that you want to add depending on
context
|
| .
| .
| request.setUserPrincipal(new
GenericPrincipal(request.getContext().getRealm(), username,password, roles));
| .
| .
| .
| getNext().invoke(request, response);
|
you can also create new subjects and add to SecurityAssociation
Group roleGroup = new SimpleGroup("Roles");
|
| for (int i = 0; i < roles.size(); i++) {
| String rname = (String) roles.get(i);
| Principal p = new UserPrincipal(rname);
| roleGroup.addMember(p);
| }
|
| Subject subj = new Subject();
| subj.getPrincipals().add(new UserPrincipal(username));
| subj.getPrincipals().add(roleGroup);
| SecurityAssociation.setSubject(subj);
|
Once you are done with this, next we have to tell the application that it has
to go through the custom valve that we created. This is done by creating a new
file called context.xml having the following entry (specify your custom valve
class name)
<Context>
| <Valve className="sample.util.CustomValve" />
| </Context>
place this file xml along with web.xml (in
jboss-portal.sar\portal-server.war\WEB-INF)
create a jar of your custom valve class file and put it in any lib dir. we put
it in server\default\lib.
then restart the server .
Hope this will help,
tellarsrinivasprabhu
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4084942#4084942
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4084942
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user