You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by we...@apache.org on 2004/07/16 21:31:24 UTC

cvs commit: jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om JetspeedRolePrincipal.java JetspeedUserPrincipal.java JetspeedCredential.java package.html JetspeedGroupPrincipal.java JetspeedPrincipal.java JetspeedPermission.java

weaver      2004/07/16 12:31:24

  Added:       jetspeed-api/src/java/org/apache/jetspeed/security/om
                        JetspeedRolePrincipal.java
                        JetspeedUserPrincipal.java JetspeedCredential.java
                        package.html JetspeedGroupPrincipal.java
                        JetspeedPrincipal.java JetspeedPermission.java
  Removed:     components/security/src/java/org/apache/jetspeed/security/om
                        JetspeedGroupPrincipal.java JetspeedPermission.java
                        JetspeedCredential.java JetspeedUserPrincipal.java
                        package.html JetspeedPrincipal.java
                        JetspeedRolePrincipal.java
  Log:
  security interfaces moved to jetspeed-api
  
  Revision  Changes    Path
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/JetspeedRolePrincipal.java
  
  Index: JetspeedRolePrincipal.java
  ===================================================================
  /* Copyright 2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.security.om;
  
  import java.util.Collection;
  
  /**
   * <p>Interface representing Jetspeed security role principal object model.</p>
   * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
   */
  public interface JetspeedRolePrincipal extends JetspeedPrincipal
  {
      /**
       * <p>Getter for the user principals.</p>
       * @return The user principals.
       */
      Collection getUserPrincipals();
  
      /**
       * <p>Setter for the user principals.</p>
       * @param userPrincipals The user principals.
       */
      void setUserPrincipals(Collection userPrincipals);
  
      /**
       * <p>Getter for the group principals.</p>
       * @return The group principals.
       */
      Collection getGroupPrincipals();
  
      /**
       * <p>Setter for the group principals.</p>
       * @param groupPrincipals The group principals.
       */
      void setGroupPrincipals(Collection groupPrincipals);
  }
  
  
  
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/JetspeedUserPrincipal.java
  
  Index: JetspeedUserPrincipal.java
  ===================================================================
  /* Copyright 2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.security.om;
  
  import java.util.Collection;
  
  /**
   * <p>Interface representing Jetspeed security user principal object model.</p>
   * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
   */
  public interface JetspeedUserPrincipal extends JetspeedPrincipal
  {
      /**
       * <p>Getter for the security credentials.</p>
       * @return The credentials.
       */
      Collection getCredentials();
  
      /**
       * <p>Setter for the security credentials.</p>
       * @param credentials The credentials.
       */
      void setCredentials(Collection credentials);
  
      /**
       * <p>Getter for the role principals.</p>
       * @return The role principals.
       */
      Collection getRolePrincipals();
  
      /**
       * <p>Setter for the role principals.</p>
       * @param rolePrincipals The role principals.
       */
      void setRolePrincipals(Collection rolePrincipals);
  
      /**
       * <p>Getter for the group principals.</p>
       * @return The group principals.
       */
      Collection getGroupPrincipals();
  
      /**
       * <p>Setter for the group principals.</p>
       * @param groupPrincipals The group principals.
       */
      void setGroupPrincipals(Collection groupPrincipals);
  }
  
  
  
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/JetspeedCredential.java
  
  Index: JetspeedCredential.java
  ===================================================================
  /* Copyright 2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.security.om;
  
  import java.io.Serializable;
  import java.sql.Timestamp;
  
  /**
   * <p>Interface representing a security credential.</p>
   * <p>The credential value represents the value of the credential
   * such as a password.</p>
   * <p>For now, we do not have custom credentials classes and 
   * credentials support only 1 credential (i.e. 1 password).<p>
   * <p>The credential type represents whether a credential is private or
   * public:</p>
   * <ul>
   *  <li>Private credential: type == 0</li>
   *  <li>Public credential: type == 1</li>
   * </ul>
   * <p>The credential classname represent the class of credential.  For password
   * this field is null.
   * </p>
   * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
   * TODO Add multiple credentials support.
   */
  public interface JetspeedCredential extends Serializable, Cloneable
  {
      /**
       * <p>Getter for the credential id.</p>
       * @return The credential id.
       */
      long getCredentialId();
  
      /**
       * <p>Setter for the credential id.</p>
       * @param credentialId The credential id.
       */
      void setCredentialId(long credentialId);
  
      /**
       * <p>Getter for the principal id.</p>
       * @return The principal id.
       */
      long getPrincipalId();
  
      /**
       * <p>Setter for the principal id.</p>
       * @param principalId The principal id.
       */
      void setPrincipalId(long principalId);
  
      /**
       * <p>Getter for the credential value.</p>
       * @return The credential value.
       */
      String getValue();
  
      /**
       * <p>Setter for the credential value.</p>
       * @param value The credential value.
       */
      void setValue(String value);
  
      /**
       * <p>Getter for the credential type.</p>
       * <ul>
       *  <li>Private credential: type == 0</li>
       *  <li>Public credential: type == 1</li>
       * </ul>
       * @return The credential type.
       */
      int getType();
  
      /**
       * <p>Setter for the credential type.</p>
       * <ul>
       *  <li>Private credential: type == 0</li>
       *  <li>Public credential: type == 1</li>
       * </ul>
       * @param type The credential type.
       */
      void setType(int type);
  
      /**
       * <p>Getter for the principal classname.</p>
       * @return The principal classname.
       */
      String getClassname();
  
      /**
       * <p>Setter for the principal classname.</p>
       * @param classname The principal classname.
       */
      void setClassname(String classname);
  
      /**
       * <p>Getter for creation date.</p>
       * @return The creation date.
       */
      Timestamp getCreationDate();
  
      /**
       * <p>Setter for the creation date.</p>
       * @param creationDate The creation date.
       */
      void setCreationDate(Timestamp creationDate);
  
      /**
       * <p>Getter for the modified date.</p>
       * @return The modified date.
       */
      Timestamp getModifiedDate();
  
      /**
       * <p>Setter for the modified date.</p>
       * @param modifiedDate The modified date.
       */
      void setModifiedDate(Timestamp modifiedDate);
  
  }
  
  
  
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/package.html
  
  Index: package.html
  ===================================================================
  <html>
  <head>
    <title>org.apache.jetspeed.security.auth.om</title>
  </head>
  <body>
  
    <p>Interface used for the object model for Jetspeed security service and
    JAAS providers implementation.</p>
    
  </body>
  </html>
  
  
  
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/JetspeedGroupPrincipal.java
  
  Index: JetspeedGroupPrincipal.java
  ===================================================================
  /* Copyright 2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.security.om;
  
  import java.util.Collection;
  
  /**
   * <p>Interface representing a Jetspeed security group principal object model.</p>
   * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
   */
  public interface JetspeedGroupPrincipal extends JetspeedPrincipal
  {
      /**
       * <p>Getter for the user principals.</p>
       * @return The user principals.
       */
      Collection getUserPrincipals();
  
      /**
       * <p>Setter for the user principals.</p>
       * @param userPrincipals The user principals.
       */
      void setUserPrincipals(Collection userPrincipals);
  
      /**
       * <p>Getter for the role principals.</p>
       * @return The role principals.
       */
      Collection getRolePrincipals();
  
      /**
       * <p>Setter for the role principals.</p>
       * @param rolePrincipals The role principals.
       */
      void setRolePrincipals(Collection rolePrincipals);
  }
  
  
  
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/JetspeedPrincipal.java
  
  Index: JetspeedPrincipal.java
  ===================================================================
  /* Copyright 2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.security.om;
  
  import java.io.Serializable;
  import java.util.Collection;
  import java.sql.Timestamp;
  
  /**
   * <p>Interface representing a policy principal.  This will be used by the 
   * {@link org.apache.jetspeed.security.impl.RdbmsPolicy} to retrieve specify
   * which permissions are applied on which principal according to the JAAS policy:</p>
   * <pre>
   * <code>grant [SignedBy "signer_names"] [, CodeBase "URL"]
   *             [, JetspeedPrincipal [principal_class_name] "principal_name"]
   *             [, JetspeedPrincipal [principal_class_name] "principal_name"] ... 
   *       {
   *                  permission permission_class_name [ "target_name" ] 
   *                                                   [, "action"] [, SignedBy "signer_names"];
   *                  permission ...
   *       };
   * </code>
   * </pre>
   * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
   */
  public interface JetspeedPrincipal extends Serializable, Cloneable
  {
  
      /**
       * <p>Getter for the principal id.</p>
       * @return The principal id.
       */
      long getPrincipalId();
  
      /**
       * <p>Setter for the principal id.</p>
       * @param principalId The principal id.
       */
      void setPrincipalId(long principalId);
  
      /**
       * <p>Getter for the principal classname.</p>
       * @return The principal classname.
       */
      String getClassname();
  
      /**
       * <p>Setter for the principal classname.</p>
       * @param classname The principal classname.
       */
      void setClassname(String classname);
  
   
      /**
       * <p>Getter for the principal full path.</p>
       * <p>The full path allows to retrieve the principal preferences from
       * the preferences services.</p>
       * @return The principal full path.
       */
      String getFullPath();
  
      /**
       * <p>Setter for the principal name.</p>
       * <p>The full path allows to retrieve the principal preferences from
       * the preferences services.</p>
       * @param fullPath The principal full path.
       */
      void setFullPath(String fullPath);
  
      /**
       * <p>Getter for the principal permissions.</p>
       * @return The principal permissions.
       */
      Collection getPermissions();
  
      /**
       * <p>Setter for the principal permissions.</p>
       * @param permissions The principal permissions.
       */
      void setPermissions(Collection permissions);
  
      /**
       * <p>Getter for creation date.</p>
       * @return The creation date.
       */
      Timestamp getCreationDate();
  
      /**
       * <p>Setter for the creation date.</p>
       * @param creationDate The creation date.
       */
      void setCreationDate(Timestamp creationDate);
  
      /**
       * <p>Getter for the modified date.</p>
       * @return The modified date.
       */
      Timestamp getModifiedDate();
  
      /**
       * <p>Setter for the modified date.</p>
       * @param modifiedDate The modified date.
       */
      void setModifiedDate(Timestamp modifiedDate);
  
  }
  
  
  
  1.1                  jakarta-jetspeed-2/jetspeed-api/src/java/org/apache/jetspeed/security/om/JetspeedPermission.java
  
  Index: JetspeedPermission.java
  ===================================================================
  /* Copyright 2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.jetspeed.security.om;
  
  import java.io.Serializable;
  import java.sql.Timestamp;
  import java.util.Collection;
  
  /**
   * <p>Interface representing a policy permission.  This will be used by the 
   * {@link org.apache.jetspeed.security.impl.RdbmsPolicy} to retrieve a permission
   * policy according to JAAS where permission are used in JAAS:</p>
   * <pre>
   * <code>grant [SignedBy "signer_names"] [, CodeBase "URL"]
   *             [, JetspeedPrincipal [principal_class_name] "principal_name"]
   *             [, JetspeedPrincipal [principal_class_name] "principal_name"] ... 
   *       {
   *                  permission permission_class_name [ "target_name" ] 
   *                                                   [, "action"] [, SignedBy "signer_names"];
   *                  permission ...
   *       };
   * </code>
   * </pre>
   * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
   */
  public interface JetspeedPermission extends Serializable, Cloneable
  {
  
      /**
       * <p>Getter for the permission id.</p>
       * @return The permission id.
       */
      long getPermissionId();
  
      /**
       * <p>Setter for the permission id.</p>
       * @param permissionId The permission id.
       */
      void setPermissionId(long permissionId);
  
      /**
       * <p>Getter for the permission classname.</p>
       * @return The permission classname.
       */
      String getClassname();
  
      /**
       * <p>Setter for the permission classname.</p>
       * @param classname The permission classname.
       */
      void setClassname(String classname);
  
      /**
       * <p>Getter for the permission resource name.</p>
       * @return The permission resource name.
       */
      String getName();
  
      /**
       * <p>Setter for the permission resource name.</p>
       * @param name The permission resource name.
       */
      void setName(String name);
      
      /**
       * <p>Getter for the permission actions.</p>
       * @return The permission actions.
       */
      String getActions();
  
      /**
       * <p>Setter for the permission actions.</p>
       * @param actions The permission actions.
       */
      void setActions(String actions);
  
      /**
       * <p>Getter for the permission principals.</p>
       * @return The permission principals.
       */
      Collection getPrincipals();
  
      /**
       * <p>Setter for the permission principals.</p>
       * @param principals The permission principals.
       */
      void setPrincipals(Collection principals);
  
      /**
       * <p>Getter for creation date.</p>
       * @return The creation date.
       */
      Timestamp getCreationDate();
  
      /**
       * <p>Setter for the creation date.</p>
       * @param creationDate The creation date.
       */
      void setCreationDate(Timestamp creationDate);
  
      /**
       * <p>Getter for the modified date.</p>
       * @return The modified date.
       */
      Timestamp getModifiedDate();
  
      /**
       * <p>Setter for the modified date.</p>
       * @param modifiedDate The modified date.
       */
      void setModifiedDate(Timestamp modifiedDate);
  
      /**
       * <p>Equals method used to appropriately compare 2 {@link JetspeedPermission} objects.</p>
       * @param object The object to compare with.
       * @return The comparison result.
       */
      boolean equals(Object object);
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jetspeed-dev-help@jakarta.apache.org