public void exit() { if (securityService != null) { securityService.exitWebApp(oldState); } } }
public UUID login(final String realmName, final String username, final String password) throws LoginException { final Realm realm = findRealm(realmName); if (realm == null) { throw new LoginException("No Tomcat realm available"); } final Principal principal = realm.authenticate(username, password); if (principal == null) { throw new CredentialNotFoundException(username); } final Subject subject = createSubject(realm, principal); return registerSubject(subject); }
public UUID login(String realmName, String username, String password) throws LoginException { if (defaultRealm == null) { throw new LoginException("No Tomcat realm available"); } final Principal principal = defaultRealm.authenticate(username, password); if (principal == null) throw new CredentialNotFoundException(username); Subject subject = createSubject(defaultRealm, principal); UUID token = registerSubject(subject); return token; }
oldContext = tss.enterWebApp( context.getRequest().getWrapper().getRealm(), userPrincipal, tss.exitWebApp(oldContext);
public Object enterWebApp(Realm realm, Principal principal, String runAs) { Identity newIdentity = null; if (principal != null) { Subject newSubject = createSubject(realm, principal); newIdentity = new Identity(newSubject, null); } Identity oldIdentity = clientIdentity.get(); WebAppState webAppState = new WebAppState(oldIdentity, runAs != null); clientIdentity.set(newIdentity); if (runAs != null) { Subject runAsSubject = createRunAsSubject(runAs); runAsStack.get().addFirst(runAsSubject); } return webAppState; }
final Object securityContext = securityService.enterWebApp(this, pcp, OpenEJBSecurityListener.requests.get().getWrapper().getRunAs()); request.setNote(SECURITY_NOTE, securityContext); } else { final CUTask.Context context = CUTask.Context.CURRENT.get(); if (context != null) { final Object state = securityService.enterWebApp(this, pcp, null); context.pushExitTask(new Runnable() { @Override
public static AbstractSecurityService create() { return !SystemInstance.get().getProperty("openejb.loader", "no").toLowerCase(Locale.ENGLISH).contains("tom") ? new SecurityServiceImpl() : new TomcatSecurityService(); } }
@Override public boolean isCallerInRole(final String role) { final Principal principal = getCallerPrincipal(); if (TomcatUser.class.isInstance(principal)) { if ("**".equals(role)) { return true; // ie logged in through tomcat } final TomcatUser tomcatUser = (TomcatUser) principal; final GenericPrincipal genericPrincipal = (GenericPrincipal) tomcatUser.getTomcatPrincipal(); final String[] roles = genericPrincipal.getRoles(); if (roles != null) { for (final String userRole : roles) { if (userRole.equals(role)) { return true; } } } return false; } return super.isCallerInRole(role); }
public Object enterWebApp(final Realm realm, final Principal principal, final String runAs) { Identity newIdentity = null; if (principal != null) { final Subject newSubject = createSubject(realm, principal); newIdentity = new Identity(newSubject, null); } final Identity oldIdentity = clientIdentity.get(); final WebAppState webAppState = new WebAppState(oldIdentity, runAs != null); clientIdentity.set(newIdentity); if (runAs != null) { final Subject runAsSubject = createRunAsSubject(runAs); runAsStack.get().addFirst(runAsSubject); } return webAppState; }
public void enter() { if (securityService != null && request.getWrapper() != null) { oldState = securityService.enterWebApp(request.getWrapper().getRealm(), request.getPrincipal(), request.getWrapper().getRunAs()); } }
@Override public void run() { securityService.exitWebApp(state); } });
public void enter() { if (securityService != null && request.getWrapper() != null) { oldState = securityService.enterWebApp(request.getWrapper().getRealm(), request.getPrincipal(), request.getWrapper().getRunAs()); } }
public void exit() { if (securityService != null) { securityService.exitWebApp(oldState); } }
public void onLogout(final HttpServletRequest request) { final Request state = OpenEJBSecurityListener.requests.get(); final Object webappState = state == null ? null : state.getNote(TomEERealm.SECURITY_NOTE); if (webappState != null) { exitWebApp(webappState); } else { super.onLogout(request); } }