Package org.exist.security

Examples of org.exist.security.Subject


    /* (non-Javadoc)
   * @see org.exist.xmldb.IndexQueryService#configure(java.lang.String)
   */
    @Override
  public void configureCollection(String configData) throws XMLDBException {
      final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
        final TransactionManager transact = pool.getTransactionManager();
        final Txn txn = transact.beginTransaction();
        try {
            broker = pool.get(user);
View Full Code Here


  /* (non-Javadoc)
   * @see org.exist.xmldb.IndexQueryService#getIndexedElements(boolean)
   */
  public Occurrences[] getIndexedElements(boolean inclusive)
    throws XMLDBException {
      final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
    try {
      broker = pool.get(user);
      return broker.getElementIndex().scanIndexedElements(parent.getCollection(), inclusive);
    } catch (final EXistException e) {
View Full Code Here

  public Occurrences[] scanIndexTerms(
    String start,
    String end,
    boolean inclusive)
    throws XMLDBException {
      final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
    try {
      broker = pool.get(user);
      final MutableDocumentSet docs = new DefaultDocumentSet();
      parent.getCollection().allDocs(broker, docs, inclusive);
View Full Code Here

  public Occurrences[] scanIndexTerms(
      String xpath,
      String start,
      String end)
      throws XMLDBException {
      final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
    try {
      broker = pool.get(user);
      final XQuery xquery = broker.getXQueryService();
      final Sequence nodes = xquery.execute(xpath, null, parent.getAccessContext());
View Full Code Here

    if(file!=null)
      {return file;}
    if(inputSource!=null)
      {return inputSource;}

    final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
    BinaryDocument blob = null;
    InputStream rawDataStream = null;
    try {
      broker = pool.get(user);
View Full Code Here

    } else if(inputSource!=null) {
      retval=inputSource.getByteStream();
    } else if(rawData!=null) {
      retval=new ByteArrayInputStream(rawData);
    } else {
      final Subject preserveSubject = pool.getSubject();
      DBBroker broker = null;
      BinaryDocument blob = null;
      try {
        broker = pool.get(user);
        blob = (BinaryDocument)getDocument(broker, Lock.READ_LOCK);
View Full Code Here

    @Override
    public Sequence eval(final Sequence[] args, final Sequence contextSequence) throws XPathException {

        final DBBroker broker = getContext().getBroker();
        final Subject currentUser = broker.getSubject();
       
        if(!isCalledAs(qnGetUserGroups.getLocalName()) && currentUser.getName().equals(SecurityManager.GUEST_USER)) {
            throw new XPathException("You must be an authenticated user");
        }

       
        final SecurityManager securityManager = broker.getBrokerPool().getSecurityManager();

        final Sequence result;
       
        if(isCalledAs(qnGetUserPrimaryGroup.getLocalName())) {
            final String username = args[0].getStringValue();
            result = new StringValue(securityManager.getAccount(username).getPrimaryGroup());
        } else if(isCalledAs(qnGroupExists.getLocalName())) {
            final String groupName = args[0].getStringValue();
            result = BooleanValue.valueOf(securityManager.hasGroup(groupName));
        } else {
            final List<String> groupNames;
            if(isCalledAs(qnListGroups.getLocalName()) || isCalledAs(qnGetGroups.getLocalName())) {
                groupNames = securityManager.findAllGroupNames();
            } else if(isCalledAs(qnFindGroupsByGroupname.getLocalName())) {
                final String startsWith = args[0].getStringValue();
                groupNames = securityManager.findGroupnamesWhereGroupnameStarts(startsWith);
            } else if(isCalledAs(qnFindGroupsWhereGroupnameContains.getLocalName())) {
                final String fragment = args[0].getStringValue();
                groupNames = securityManager.findGroupnamesWhereGroupnameContains(fragment);
            } else if(isCalledAs(qnGetUserGroups.getLocalName())) {
                final String username = args[0].getStringValue();

                if(!currentUser.hasDbaRole() && !currentUser.getName().equals(username)) {
                    throw new XPathException("You must be a DBA or enquiring about your own user account!");
                }

                final Account user = securityManager.getAccount(username);
                groupNames = Arrays.asList(user.getGroups());
View Full Code Here

          "error while loading binary resource " + getId(), ioe);
    }
  }
 
  public void getContentIntoAStream(OutputStream os) throws XMLDBException {
    final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
    BinaryDocument blob = null;
    boolean doClose=false;
    try {
      broker = pool.get(user);
View Full Code Here

    } else if(inputSource!=null && inputSource instanceof EXistInputSource) {
      retval=((EXistInputSource)inputSource).getByteStreamLength();
    } else if(rawData!=null) {
      retval=rawData.length;
    } else {
      final Subject preserveSubject = pool.getSubject();
      DBBroker broker = null;
      BinaryDocument blob = null;
      try {
        broker = pool.get(user);
        blob = (BinaryDocument)getDocument(broker, Lock.READ_LOCK);
View Full Code Here

   * @see org.exist.xmldb.EXistResource#getCreationTime()
   */
  public Date getCreationTime() throws XMLDBException {
        if (isNewResource)
            {throw new XMLDBException(ErrorCodes.INVALID_RESOURCE, "The resource has not yet been stored");}
    final Subject preserveSubject = pool.getSubject();
    DBBroker broker = null;
    try {
      broker = pool.get(user);
      final BinaryDocument blob = (BinaryDocument)getDocument(broker, Lock.NO_LOCK);
      return new Date(blob.getMetadata().getCreated());
View Full Code Here

TOP

Related Classes of org.exist.security.Subject

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.