/** * Logs out the user. * * The implementation removes the User associated with the Subject. * @return true in all cases * @throws LoginException if logout fails */ @Override public boolean logout() throws LoginException { if (mSubject.isReadOnly()) { throw new LoginException("logout Failed: Subject is Readonly."); } if (mUser != null) { mSubject.getPrincipals().remove(mUser); } return true; }
/** * Logs out the user * * <p> * The implementation removes the User associated with the Subject. * * @return true in all cases * @throws LoginException if logout fails */ @Override public boolean logout() throws LoginException { if (mSubject.isReadOnly()) { throw new LoginException("logout Failed: Subject is Readonly."); } if (mUser != null) { mSubject.getPrincipals().remove(mUser); } return true; }
public boolean logout() throws LoginException { if (subject != null && !subject.isReadOnly() && kerbTicket != null) { subject.getPrincipals().remove(kerbTicket.getClient()); subject.getPrivateCredentials().remove(kerbTicket); } kerbTicket = null; return true; }
public boolean logout() throws LoginException { if (subject != null && !subject.isReadOnly() && kerbTicket != null) { subject.getPrincipals().remove(kerbTicket.getClient()); AutoTGT.clearCredentials(subject, null); } kerbTicket = null; return true; }
public boolean commit() throws LoginException { if (isSucceeded() == false) { return false; } if (subject == null || subject.isReadOnly()) { kerbTicket = null; throw new LoginException("Authentication failed because the Subject is invalid."); } // Let us add the kerbClientPrinc and kerbTicket subject.getPrivateCredentials().add(kerbTicket); subject.getPrincipals().add(getKerbTicketClient()); LOG.debug("Commit Succeeded."); return true; }
public boolean commit() throws LoginException { if (isSucceeded() == false) { return false; } if (subject == null || subject.isReadOnly()) { kerbTicket = null; throw new LoginException("Authentication failed because the Subject is invalid."); } // Let us add the kerbClientPrinc and kerbTicket // We need to clone the ticket because java.security.auth.kerberos assumes TGT is unique for each subject // So, sharing TGT with multiple subjects can cause expired TGT to never refresh. KerberosTicket kerbTicketCopy = ClientAuthUtils.cloneKerberosTicket(kerbTicket); subject.getPrivateCredentials().add(kerbTicketCopy); subject.getPrincipals().add(getKerbTicketClient()); LOG.debug("Commit Succeeded."); return true; }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { Subject subject = (Subject) source; marshalPrincipals(subject.getPrincipals(), writer, context); marshalPublicCredentials(subject.getPublicCredentials(), writer, context); marshalPrivateCredentials(subject.getPrivateCredentials(), writer, context); marshalReadOnly(subject.isReadOnly(), writer); }
@Test public void testSubject() { Subject expected = new Subject(); Assert.assertFalse(expected.isReadOnly()); rc.setSubject(expected); Assert.assertEquals(expected, rc.subject()); expected.setReadOnly(); rc.setSubject(expected); Assert.assertEquals(expected, rc.subject()); }
securityIdentity = authorizedIdentity; final Subject subject = cpc.getSubject(); if (subject != null && !subject.isReadOnly()) { subject.getPrincipals().add(authorizedIdentity.getPrincipal());
SubjectKeyManager(Subject subject) throws NoSuchAlgorithmException, NoSuchProviderException { subjectRef = new WeakReference<Subject>(subject); subjectIsReadOnly = subject.isReadOnly(); }
public boolean commit() throws LoginException { if (subject.isReadOnly()) { throw new LoginException("Subject is ReadOnly"); } Set pvtCreds = subject.getPrivateCredentials(); if (namedUsernamePasswordCredential != null && !pvtCreds.contains(namedUsernamePasswordCredential)) { pvtCreds.add(namedUsernamePasswordCredential); } return false; }
@Override public boolean logout() throws LoginException { if (subject.isReadOnly()) { cleanup(); throw new LoginException("Subject is read-only"); } subject.getPrincipals().remove(principal); cleanup(); return true; }
@Override public boolean logout() throws LoginException { if (_subject.isReadOnly()) { cleanup(); throw new LoginException("Subject is read-only"); } _subject.getPrincipals().remove(_principal); cleanup(); return true; }
public boolean logout() throws LoginException { if (subject != null && !subject.isReadOnly() && kerbTicket != null) { subject.getPrincipals().remove(kerbTicket.getClient()); AutoTGT.clearCredentials(subject, null); } kerbTicket = null; return true; }
@Override public boolean commit() { if (authenticationSucceeded()) { if (!subject.isReadOnly()) { subject.getPublicCredentials().add(guestCredentials); subject.getPrincipals().add(EveryonePrincipal.getInstance()); } return true; } else { return false; } }
@Override public Session createDelegatedSession(final InternalHippoSession session, DomainRuleExtension... domainExtensions) throws RepositoryException { String workspaceName = repositoryContext.getWorkspaceManager().getDefaultWorkspaceName(); final Set<Principal> principals = new HashSet<Principal>(subject.getPrincipals()); principals.add(new AuthorizationFilterPrincipal(helper.getFacetRules(domainExtensions))); principals.addAll(session.getSubject().getPrincipals()); Subject newSubject = new Subject(subject.isReadOnly(), principals, subject.getPublicCredentials(), subject.getPrivateCredentials()); return repositoryContext.getWorkspaceManager().createSession(newSubject, workspaceName); }
@Override public void marshal(final Object source, final HierarchicalStreamWriter writer, final MarshallingContext context) { final Subject subject = (Subject)source; marshalPrincipals(subject.getPrincipals(), writer, context); marshalPublicCredentials(subject.getPublicCredentials(), writer, context); marshalPrivateCredentials(subject.getPrivateCredentials(), writer, context); marshalReadOnly(subject.isReadOnly(), writer); }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { Subject subject = (Subject) source; marshalPrincipals(subject.getPrincipals(), writer, context); marshalPublicCredentials(subject.getPublicCredentials(), writer, context); marshalPrivateCredentials(subject.getPrivateCredentials(), writer, context); marshalReadOnly(subject.isReadOnly(), writer); }
public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { Subject subject = (Subject) source; marshalPrincipals(subject.getPrincipals(), writer, context); marshalPublicCredentials(subject.getPublicCredentials(), writer, context); marshalPrivateCredentials(subject.getPrivateCredentials(), writer, context); marshalReadOnly(subject.isReadOnly(), writer); }
@Test public void testGetLoginContext() throws Exception { LoginContext ctx = lcProvider.getLoginContext(new SimpleCredentials(getTestUser().getID(), getTestUser().getID().toCharArray()), root.getContentSession().getWorkspaceName()); Subject subject = ctx.getSubject(); assertNotNull(subject); assertFalse(subject.isReadOnly()); assertTrue(subject.getPrincipals().isEmpty()); }