[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