/** * Default setup of the logged on Subject Principals for Tomcat * @param subject * @param user */ protected void commitSubject(Subject containerSubject, Subject jetspeedSubject, AuthenticatedUser user) { // add user specific portal user name and roles subject.getPrincipals().add(SubjectHelper.getPrincipal(jetspeedSubject, UserSubjectPrincipal.class)); subject.getPrincipals().add(SubjectHelper.getPrincipal(jetspeedSubject, User.class)); boolean hasPortalUserRole = false; for (Principal role : SubjectHelper.getPrincipals(jetspeedSubject, Role.class)) { subject.getPrincipals().add(role); if (role.getName().equals(portalUserRole)) { hasPortalUserRole = true; } } if (!hasPortalUserRole) { // add portal user role: used in web.xml authorization to // detect authenticated portal users subject.getPrincipals().add(new RoleImpl(portalUserRole)); } } }
protected void commitSubject(Subject containerSubject, Subject jetspeedSubject, AuthenticatedUser user) { // add user specific portal user name and roles Principal userSubjectPrincipal = SubjectHelper.getPrincipal(jetspeedSubject, UserSubjectPrincipal.class); subject.getPrincipals().add(userSubjectPrincipal); boolean hasPortalUserRole = false; JBossGroup roles = new JBossGroup("Roles"); for (Principal role : SubjectHelper.getPrincipals(jetspeedSubject, Role.class)) { roles.addMember(role); if (role.getName().equals(portalUserRole)) { hasPortalUserRole = true; } } if (!hasPortalUserRole) { // add portal user role: used in web.xml authorization to // detect authenticated portal users roles.addMember(new RoleImpl(portalUserRole)); } subject.getPrincipals().add(roles); } }