/** * If the {@linkplain #getSecurityDomain() security domain} is not {@code null} the current user is returned. * otherwise {@code null} is returned. * <p> * Note that if the current identity is anonymous {@code null} will be returned. * </p> * * @return the current user name or {@code null} */ default String getCurrentUserName() { final SecurityIdentity securityIdentity = getIdentity(); if (securityIdentity != null && !securityIdentity.isAnonymous()) { return securityIdentity.getPrincipal().getName(); } return null; }
private boolean checkCallerSecurityIdentityRole(String roleName) { final SecurityIdentity identity = getCallerSecurityIdentity(); if("**".equals(roleName)) { return !identity.isAnonymous(); } Roles roles = identity.getRoles("ejb", true); if(roles.contains(roleName)) { return true; } if(securityMetaData.getSecurityRoleLinks() != null) { Collection<String> linked = securityMetaData.getSecurityRoleLinks().get(roleName); if(linked != null) { for (String role : roles) { if (linked.contains(role)) { return true; } } } } return false; }
@Override boolean authorize(final boolean requireLoginPermission) throws RealmUnavailableException { final SecurityIdentity capturedIdentity = this.capturedIdentity; if (capturedIdentity.isAnonymous()) { return authorizeAnonymous(requireLoginPermission); } final AtomicReference<State> stateRef = getStateRef(); return (! requireLoginPermission || capturedIdentity.implies(LoginPermission.getInstance())) && (stateRef.compareAndSet(this, new AuthorizedState(capturedIdentity, capturedIdentity.getPrincipal(), capturedIdentity.getRealmInfo(), mechanismConfiguration, getMechanismRealmConfiguration())) || stateRef.get().authorize(requireLoginPermission)); }
public Object processInvocation(final InterceptorContext context) throws Exception { final Component component = context.getPrivateData(Component.class); if (! (component instanceof EJBComponent)) { throw EjbLogger.ROOT_LOGGER.unexpectedComponent(component, EJBComponent.class); } final Iterator<String> iterator = rolesAllowed.iterator(); if (iterator.hasNext()) { final SecurityDomain securityDomain = context.getPrivateData(SecurityDomain.class); final SecurityIdentity identity = securityDomain.getCurrentSecurityIdentity(); final Roles ejbRoles = identity.getRoles("ejb", true); do { final String role = iterator.next(); if (ejbRoles.contains(role) || (role.equals("**") && !identity.isAnonymous())) { return context.proceed(); } } while (iterator.hasNext()); } throw EjbLogger.ROOT_LOGGER.invocationOfMethodNotAllowed(context.getMethod(), ((EJBComponent) component).getComponentName()); } }
if (importedIdentity.isAnonymous()) { AnonymousAuthorizedState newState = new AnonymousAuthorizedState(domain.getAnonymousSecurityIdentity()); return stateRef.compareAndSet(this, newState) || stateRef.get().importIdentity(importedIdentity);
if (subjectIdentity != null && !subjectIdentity.isAnonymous()) { return;
if(this.authContext != null) { authContext = this.authContext; } else if(currentIdentity == null || currentIdentity.isAnonymous()) { authContext = AuthenticationContext.captureCurrent(); } else {
/** * If the {@linkplain #getSecurityDomain() security domain} is not {@code null} the current user is returned. * otherwise {@code null} is returned. * <p> * Note that if the current identity is anonymous {@code null} will be returned. * </p> * * @return the current user name or {@code null} */ default String getCurrentUserName() { final SecurityIdentity securityIdentity = getIdentity(); if (securityIdentity != null && !securityIdentity.isAnonymous()) { return securityIdentity.getPrincipal().getName(); } return null; }
@Override boolean authorize(final boolean requireLoginPermission) throws RealmUnavailableException { final SecurityIdentity capturedIdentity = this.capturedIdentity; if (capturedIdentity.isAnonymous()) { return authorizeAnonymous(requireLoginPermission); } final AtomicReference<State> stateRef = getStateRef(); return (! requireLoginPermission || capturedIdentity.implies(LoginPermission.getInstance())) && (stateRef.compareAndSet(this, new AuthorizedState(capturedIdentity, capturedIdentity.getPrincipal(), capturedIdentity.getRealmInfo(), mechanismConfiguration, getMechanismRealmConfiguration())) || stateRef.get().authorize(requireLoginPermission)); }
@Override boolean authorize(final boolean requireLoginPermission) throws RealmUnavailableException { final SecurityIdentity capturedIdentity = this.capturedIdentity; if (capturedIdentity.isAnonymous()) { return authorizeAnonymous(requireLoginPermission); } final AtomicReference<State> stateRef = getStateRef(); return (! requireLoginPermission || capturedIdentity.implies(LoginPermission.getInstance())) && (stateRef.compareAndSet(this, new AuthorizedState(capturedIdentity, capturedIdentity.getPrincipal(), capturedIdentity.getRealmInfo(), mechanismConfiguration, getMechanismRealmConfiguration())) || stateRef.get().authorize(requireLoginPermission)); }
@Override boolean authorize(final boolean requireLoginPermission) throws RealmUnavailableException { final SecurityIdentity capturedIdentity = this.capturedIdentity; if (capturedIdentity.isAnonymous()) { return authorizeAnonymous(requireLoginPermission); } final AtomicReference<State> stateRef = getStateRef(); return (! requireLoginPermission || capturedIdentity.implies(LoginPermission.getInstance())) && (stateRef.compareAndSet(this, new AuthorizedState(capturedIdentity, capturedIdentity.getPrincipal(), capturedIdentity.getRealmInfo(), mechanismConfiguration, getMechanismRealmConfiguration())) || stateRef.get().authorize(requireLoginPermission)); }
if (importedIdentity.isAnonymous()) { AnonymousAuthorizedState newState = new AnonymousAuthorizedState(domain.getAnonymousSecurityIdentity()); return stateRef.compareAndSet(this, newState) || stateRef.get().importIdentity(importedIdentity);
if (importedIdentity.isAnonymous()) { AnonymousAuthorizedState newState = new AnonymousAuthorizedState(domain.getAnonymousSecurityIdentity()); return stateRef.compareAndSet(this, newState) || stateRef.get().importIdentity(importedIdentity);
if (importedIdentity.isAnonymous()) { AnonymousAuthorizedState newState = new AnonymousAuthorizedState(domain.getAnonymousSecurityIdentity()); return stateRef.compareAndSet(this, newState) || stateRef.get().importIdentity(importedIdentity);
if (subjectIdentity != null && !subjectIdentity.isAnonymous()) { return;
if(this.authContext != null) { authContext = this.authContext; } else if(currentIdentity == null || currentIdentity.isAnonymous()) { authContext = AuthenticationContext.captureCurrent(); } else {
if(this.authContext != null) { authContext = this.authContext; } else if(currentIdentity == null || currentIdentity.isAnonymous()) { authContext = AuthenticationContext.captureCurrent(); } else {