[jboss-svn-commits] JBL Code SVN: r18185 - in labs/jbosslabs/labs-3.0-build: core/core-api/src/main/java/org/jboss/labs/exception/auth and 4 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Jan 29 07:51:25 EST 2008


Author: szimano
Date: 2008-01-29 07:51:25 -0500 (Tue, 29 Jan 2008)
New Revision: 18185

Added:
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/auth/NoSuchUserException.java
   labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java
Removed:
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/App.java
Modified:
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/AuthenticationService.java
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/RoleBinderService.java
   labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/UserService.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/AuthenticationServiceImpl.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java
   labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml
Log:
javadocs for authorization services JBLAB-901

Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/AuthenticationService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/AuthenticationService.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/AuthenticationService.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -3,9 +3,43 @@
 import java.security.Principal;
 
 public interface AuthenticationService {
-	
-	public <E extends Enum<E>> boolean isAllowed(Principal user, E serviceRole);
-	
-	public <E extends Enum<E>> boolean isAllowed(Principal user, E serviceRole, String customId);
 
+	/**
+	 * Checks if a user is allowed to perform actions bound to given service
+	 * role in a given project.
+	 * 
+	 * @param <E>
+	 *            Enum with service roles defined by a service
+	 * @param user
+	 *            User to check
+	 * @param serviceRole
+	 *            Service role to check
+	 * @param projectId
+	 *            Id of a project to check. If null, then global privileges are
+	 *            checked
+	 * @return True if a user is authorized. False otherwise.
+	 */
+	public <E extends Enum<E>> boolean isAllowedProject(Principal user,
+			E serviceRole, String projectId);
+
+	/**
+	 * Checks if a user is allowed to perform actions bound to given service
+	 * role and a fiven custom id.
+	 * 
+	 * @param <E>
+	 *            Enum with service roles defined by a service
+	 * @param user
+	 *            User to check
+	 * @param serviceRole
+	 *            Service role to check
+	 * @param customId
+	 *            Custom if of a service to check. If null, then global
+	 *            privileges are checked
+	 * @return True if a user is authorized. False otherwise.
+	 * @see org.jboss.labs.core.model.auth.CustomID
+	 * @see org.jboss.labs.auth.custom.CustomIDProvider
+	 */
+	public <E extends Enum<E>> boolean isAllowedCustom(Principal user,
+			E serviceRole, String customId);
+
 }

Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/RoleBinderService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/RoleBinderService.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/RoleBinderService.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -1,7 +1,10 @@
 package org.jboss.labs.auth;
 
+import java.security.Principal;
+
 import org.jboss.labs.auth.custom.CustomIDProvider;
 import org.jboss.labs.core.model.auth.UserRole;
+
 /**
  * Class that allows exposing role list for a service.
  * 
@@ -9,16 +12,97 @@
  * 
  */
 public interface RoleBinderService {
+
 	/**
+	 * Exposes service roles to authentication service.
+	 * 
 	 * @param <E>
+	 *            Enum defined by a service
 	 * @param serviceRoleList
-	 * @param serviceId
+	 *            List of service roles
 	 */
 	public <E extends Enum<E>> void exposeServiceRoles(E[] serviceRoleList);
-	
-	public <E extends Enum<E>> void exposeServiceRolesAndRegisterCustomIDProvider(E[] serviceRoleList, CustomIDProvider provider);
-	
-	public <E extends Enum<E>> void bindRolesWithProject(E serviceRole, UserRole role, String projectId);
-	
-	public <E extends Enum<E>> void bindRolesWithId(E serviceRole, UserRole role, String customId);
+
+	/**
+	 * Exposes service roles to authentication service and registers custom id
+	 * provider.
+	 * 
+	 * @param <E>
+	 *            Enum defined by a service
+	 * @param serviceRoleList
+	 *            List of service roles
+	 * @param provider
+	 *            Provider to register
+	 * @see org.jboss.labs.auth.custom.CustomIDProvider
+	 */
+	public <E extends Enum<E>> void exposeServiceRolesAndRegisterCustomIDProvider(
+			E[] serviceRoleList, CustomIDProvider provider);
+
+	/**
+	 * Binds given service role with a user role for a given project.
+	 * 
+	 * @param <E>
+	 *            Enum defined by a service
+	 * @param serviceRole
+	 *            Service role
+	 * @param role
+	 *            User role
+	 * @param projectId
+	 *            Project id
+	 */
+	public <E extends Enum<E>> void bindRolesWithProject(E serviceRole,
+			UserRole role, String projectId);
+
+	/**
+	 * Binds given service role with a user role for a given custom id.
+	 * 
+	 * @param <E>
+	 *            Enum defined by a service
+	 * @param serviceRole
+	 *            Service role
+	 * @param role
+	 *            User role
+	 * @param customId
+	 *            Custom id
+	 * @see org.jboss.labs.core.model.auth.CustomID
+	 * @see org.jboss.labs.auth.custom.CustomIDProvider
+	 */
+	public <E extends Enum<E>> void bindRolesWithId(E serviceRole,
+			UserRole role, String customId);
+
+	/**
+	 * Binds service role to a user role globally. This means that members of
+	 * this user role will be able to perform actions bound to given service
+	 * role in every context.
+	 * 
+	 * @param <E>
+	 *            Enum defined by a service
+	 * @param serviceRole
+	 *            Service role
+	 * @param role
+	 *            User role
+	 */
+	public <E extends Enum<E>> void bindRolesGlobal(E serviceRole, UserRole role);
+
+	/**
+	 * Grants superrole in a project to a user. User with a superrole can
+	 * perform any actions in a project (checking isAllowedProject with this
+	 * projectId will always return true)
+	 * 
+	 * @param user
+	 *            User
+	 * @param projectId
+	 *            Project id
+	 */
+	public void grantUserProjectSuperrole(Principal user, String projectId);
+
+	/**
+	 * Grants global superrole to a user. User with a superrole can perform any
+	 * actions (checking isAllowedProject and isAlloweCustom will always return
+	 * true)
+	 * 
+	 * @param user
+	 *            User
+	 */
+	public void grantUserSuperrole(Principal user);
 }

Modified: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/UserService.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/UserService.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/auth/UserService.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -3,15 +3,64 @@
 import java.security.Principal;
 import java.util.Set;
 
+import org.jboss.labs.core.model.auth.User;
 import org.jboss.labs.core.model.auth.UserRole;
 import org.jboss.labs.exception.auth.NoSuchRoleForUserException;
+import org.jboss.labs.exception.auth.NoSuchUserException;
 
 public interface UserService {
-	public Principal getUserByLogin(String login);
-	
-	public Set<UserRole> getRolesForUser(Principal p);
+
+	/**
+	 * Returns User object with given login.
+	 * 
+	 * @param login
+	 *            Login of a user
+	 * @return User object
+	 * @throws NoSuchUserException
+	 *             When a user doesn't exist
+	 */
+	public User getUserByLogin(String login) throws NoSuchUserException;
+
+	/**
+	 * Returns set of user roles for a given user.
+	 * 
+	 * @param user
+	 *            User
+	 * @return Set of user roles if there are any or empty set if there are no
+	 *         user roles for a user
+	 */
+	public Set<UserRole> getRolesForUser(Principal user);
+
+	/**
+	 * Returns set of user roles for a user by a login.
+	 * 
+	 * @param login
+	 *            Login of a user
+	 * @return Set of user roles if there are any or empty set if there are no
+	 *         user roles for a user
+	 */
 	public Set<UserRole> getRolesForUser(String login);
-	
-	public void bindRoleToUser(Principal p, UserRole r);
-	public void removeRoleFromUser(Principal p, UserRole r) throws NoSuchRoleForUserException;
+
+	/**
+	 * Binds user role to a user.
+	 * 
+	 * @param user
+	 *            User
+	 * @param role
+	 *            User role
+	 */
+	public void bindRoleToUser(Principal user, UserRole role);
+
+	/**
+	 * Removes user role from a user
+	 * 
+	 * @param user
+	 *            User
+	 * @param role
+	 *            Role
+	 * @throws NoSuchRoleForUserException
+	 *             When given user doesn't have the given role.
+	 */
+	public void removeRoleFromUser(Principal user, UserRole role)
+			throws NoSuchRoleForUserException;
 }

Added: labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/auth/NoSuchUserException.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/auth/NoSuchUserException.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-api/src/main/java/org/jboss/labs/exception/auth/NoSuchUserException.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -0,0 +1,12 @@
+package org.jboss.labs.exception.auth;
+
+import org.jboss.labs.exception.LabsException;
+
+public class NoSuchUserException extends LabsException {
+
+	/**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+}

Added: labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java	                        (rev 0)
+++ labs/jbosslabs/labs-3.0-build/core/core-model/src/main/java/org/jboss/labs/core/model/auth/User.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -0,0 +1,90 @@
+package org.jboss.labs.core.model.auth;
+
+import java.security.Principal;
+import java.util.Set;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Version;
+
+ at Entity
+public class User implements Principal {
+
+	@Id
+	@GeneratedValue
+	private Integer id;
+	@Version
+	private Integer version;
+
+	private String username;
+	private String name;
+	private String bio;
+	private String website;
+	private String pictureURL;
+	
+	@OneToMany
+	private Set<UserRole> userRoles;
+
+	public String getName() {
+		return name;
+	}
+
+	public Integer getVersion() {
+		return version;
+	}
+
+	public void setVersion(Integer version) {
+		this.version = version;
+	}
+
+	public String getUsername() {
+		return username;
+	}
+
+	public void setUsername(String username) {
+		this.username = username;
+	}
+
+	public String getBio() {
+		return bio;
+	}
+
+	public void setBio(String bio) {
+		this.bio = bio;
+	}
+
+	public String getWebsite() {
+		return website;
+	}
+
+	public void setWebsite(String website) {
+		this.website = website;
+	}
+
+	public String getPictureURL() {
+		return pictureURL;
+	}
+
+	public void setPictureURL(String pictureURL) {
+		this.pictureURL = pictureURL;
+	}
+
+	public Integer getId() {
+		return id;
+	}
+
+	public void setName(String name) {
+		this.name = name;
+	}
+
+	public Set<UserRole> getUserRoles() {
+		return userRoles;
+	}
+
+	public void setUserRoles(Set<UserRole> userRoles) {
+		this.userRoles = userRoles;
+	}
+
+}

Deleted: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/App.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/App.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/App.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -1,13 +0,0 @@
-package org.jboss.labs;
-
-/**
- * Hello world!
- *
- */
-public class App 
-{
-    public static void main( String[] args )
-    {
-        System.out.println( "Hello World!" );
-    }
-}

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/AuthenticationServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/AuthenticationServiceImpl.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/AuthenticationServiceImpl.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -11,12 +11,12 @@
 @Stateless
 public class AuthenticationServiceImpl implements AuthenticationService {
 
-	public <E extends Enum<E>> boolean isAllowed(Principal user, E serviceRole) {
+	public <E extends Enum<E>> boolean isAllowedProject(Principal user, E serviceRole, String projectId) {
 		// TODO Auto-generated method stub
 		return false;
 	}
 
-	public <E extends Enum<E>> boolean isAllowed(Principal user, E serviceRole,
+	public <E extends Enum<E>> boolean isAllowedCustom(Principal user, E serviceRole,
 			String customId) {
 		// TODO Auto-generated method stub
 		return false;

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/RoleBinderServiceImpl.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -1,5 +1,7 @@
 package org.jboss.labs.auth.impl;
 
+import java.security.Principal;
+
 import javax.ejb.Local;
 import javax.ejb.Stateless;
 
@@ -37,4 +39,19 @@
 		
 	}
 
+	public <E extends Enum<E>> void bindRolesGlobal(E serviceRole, UserRole role) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void grantUserProjectSuperrole(Principal user, String projectId) {
+		// TODO Auto-generated method stub
+		
+	}
+
+	public void grantUserSuperrole(Principal user) {
+		// TODO Auto-generated method stub
+		
+	}
+
 }

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/java/org/jboss/labs/auth/impl/UserServiceImpl.java	2008-01-29 12:51:25 UTC (rev 18185)
@@ -11,6 +11,7 @@
 
 import org.apache.log4j.Logger;
 import org.jboss.labs.auth.UserService;
+import org.jboss.labs.core.model.auth.User;
 import org.jboss.labs.core.model.auth.UserRole;
 import org.jboss.labs.exception.auth.NoSuchRoleForUserException;
 import org.josso.gateway.identity.service.ws.impl.NoSuchUserException;
@@ -49,12 +50,12 @@
 		}
 	}
 
-	public void bindRoleToUser(Principal p, UserRole r) {
+	public void bindRoleToUser(Principal user, UserRole role) {
 		// TODO Auto-generated method stub
-
+		
 	}
 
-	public Set<UserRole> getRolesForUser(Principal p) {
+	public Set<UserRole> getRolesForUser(Principal user) {
 		// TODO Auto-generated method stub
 		return null;
 	}
@@ -64,15 +65,18 @@
 		return null;
 	}
 
-	public Principal getUserByLogin(String login) {
+	public User getUserByLogin(String login)
+			throws org.jboss.labs.exception.auth.NoSuchUserException {
 		// TODO Auto-generated method stub
 		return null;
 	}
 
-	public void removeRoleFromUser(Principal p, UserRole r)
+	public void removeRoleFromUser(Principal user, UserRole role)
 			throws NoSuchRoleForUserException {
 		// TODO Auto-generated method stub
-
+		
 	}
 
+
+
 }

Modified: labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml
===================================================================
--- labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml	2008-01-29 11:55:05 UTC (rev 18184)
+++ labs/jbosslabs/labs-3.0-build/services/credential/src/main/resources/META-INF/persistence.xml	2008-01-29 12:51:25 UTC (rev 18185)
@@ -13,6 +13,7 @@
                 <class>org.jboss.labs.core.model.auth.Service</class>
                 <class>org.jboss.labs.core.model.auth.ServiceRole</class>
                 <class>org.jboss.labs.core.model.auth.UserRole</class>
+                <class>org.jboss.labs.core.model.auth.User</class>
         </persistence-unit>
 </persistence>
 




More information about the jboss-svn-commits mailing list