Seam SVN: r13304 - in modules/security/trunk/impl/src/main/java/org/jboss/seam/security: management and 1 other directory.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-25 00:50:50 -0400 (Fri, 25 Jun 2010)
New Revision: 13304
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
Log:
got end to end authentication working.. yeah!!!
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java 2010-06-25 04:36:50 UTC (rev 13303)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java 2010-06-25 04:50:50 UTC (rev 13304)
@@ -91,11 +91,12 @@
if (success)
{
- for (Role role : identityManager.getImpliedRoles(username))
- {
- idCallback.getIdentity().addRole(role.getRoleType().getName(),
- role.getGroup().getName(), role.getGroup().getGroupType());
- }
+ // TODO implement role population
+ //for (Role role : identityManager.getImpliedRoles(username))
+ //{
+ // idCallback.getIdentity().addRole(role.getRoleType().getName(),
+ // role.getGroup().getName(), role.getGroup().getGroupType());
+ //}
}
return success;
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-25 04:36:50 UTC (rev 13303)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-25 04:50:50 UTC (rev 13304)
@@ -959,19 +959,21 @@
}
public IdentityObjectRelationship createRelationship(
- IdentityStoreInvocationContext invocationCxt,
+ IdentityStoreInvocationContext invocationCtx,
IdentityObject fromIdentity, IdentityObject toIdentity,
IdentityObjectRelationshipType relationshipType,
String relationshipName, boolean createNames) throws IdentityException
{
try
{
+ EntityManager em = getEntityManager(invocationCtx);
+
Object relationship = relationshipClass.newInstance();
modelProperties.get(PROPERTY_RELATIONSHIP_FROM).setValue(relationship,
- lookupIdentity(fromIdentity));
+ lookupIdentity(fromIdentity, em));
modelProperties.get(PROPERTY_RELATIONSHIP_TO).setValue(relationship,
- lookupIdentity(toIdentity));
+ lookupIdentity(toIdentity, em));
Property<Object> type = modelProperties.get(PROPERTY_RELATIONSHIP_TYPE);
if (String.class.equals(modelProperties.get(PROPERTY_RELATIONSHIP_TYPE).getJavaClass()))
@@ -997,11 +999,24 @@
}
}
- protected Object lookupIdentity(IdentityObject obj)
+ protected Object lookupIdentity(IdentityObject obj, EntityManager em)
{
- // TODO implement
- return null;
+ Property<?> identityNameProp = modelProperties.get(PROPERTY_IDENTITY_NAME);
+ CriteriaBuilder builder = em.getCriteriaBuilder();
+ CriteriaQuery<?> criteria = builder.createQuery(identityClass);
+ Root<?> root = criteria.from(identityClass);
+
+ List<Predicate> predicates = new ArrayList<Predicate>();
+ predicates.add(builder.equal(root.get(identityNameProp.getName()), obj.getName()));
+
+ // TODO add criteria for identity type
+
+ criteria.where(predicates.toArray(new Predicate[0]));
+
+ Query q = em.createQuery(criteria);
+
+ return q.getSingleResult();
}
protected Object lookupRelationshipType(IdentityObjectRelationshipType relationshipType)
@@ -1270,7 +1285,8 @@
Root<?> root = criteria.from(credentialClass);
List<Predicate> predicates = new ArrayList<Predicate>();
- predicates.add(builder.equal(root.get(credentialIdentity.getName()), lookupIdentity(identityObject)));
+ predicates.add(builder.equal(root.get(credentialIdentity.getName()),
+ lookupIdentity(identityObject, em)));
criteria.where(predicates.toArray(new Predicate[0]));
13 years, 10 months
Seam SVN: r13303 - in modules/security/trunk/examples/idmconsole/src/main: resources and 1 other directory.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-25 00:36:50 -0400 (Fri, 25 Jun 2010)
New Revision: 13303
Added:
modules/security/trunk/examples/idmconsole/src/main/resources/import.sql
Modified:
modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObject.java
modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectCredential.java
Log:
fix import sql
Modified: modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObject.java
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObject.java 2010-06-25 02:33:25 UTC (rev 13302)
+++ modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObject.java 2010-06-25 04:36:50 UTC (rev 13303)
@@ -1,9 +1,11 @@
package org.jboss.seam.security.examples.idmconsole.model;
import java.io.Serializable;
+
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.jboss.seam.security.annotations.management.IdentityProperty;
@@ -45,6 +47,7 @@
}
@ManyToOne @IdentityProperty(PropertyType.TYPE)
+ @JoinColumn(name = "IDENTITY_OBJECT_TYPE_ID")
public IdentityObjectType getType()
{
return type;
Modified: modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectCredential.java
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectCredential.java 2010-06-25 02:33:25 UTC (rev 13302)
+++ modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectCredential.java 2010-06-25 04:36:50 UTC (rev 13303)
@@ -5,6 +5,7 @@
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
+import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import org.jboss.seam.security.annotations.management.IdentityProperty;
@@ -36,7 +37,7 @@
this.id = id;
}
- @ManyToOne
+ @ManyToOne @JoinColumn(name = "IDENTITY_OBJECT_ID")
public IdentityObject getIdentityObject()
{
return identityObject;
@@ -48,6 +49,7 @@
}
@ManyToOne @IdentityProperty(PropertyType.TYPE)
+ @JoinColumn(name = "CREDENTIAL_TYPE_ID")
public IdentityObjectCredentialType getType()
{
return type;
Added: modules/security/trunk/examples/idmconsole/src/main/resources/import.sql
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/resources/import.sql (rev 0)
+++ modules/security/trunk/examples/idmconsole/src/main/resources/import.sql 2010-06-25 04:36:50 UTC (rev 13303)
@@ -0,0 +1,9 @@
+insert into IdentityObjectType(id, name) values (1, 'USER');
+insert into IdentityObjectType(id, name) values (2, 'GROUP');
+
+insert into IdentityObject (id, name, identity_object_type_id) values (1, 'shane', 1);
+
+insert into IdentityObjectCredentialType (id, name) values (1, 'PASSWORD');
+
+insert into IdentityObjectCredential (id, identity_object_id, credential_type_id, value) values (1, 1, 1, 'password');
+
13 years, 10 months
Seam SVN: r13302 - modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 22:33:25 -0400 (Thu, 24 Jun 2010)
New Revision: 13302
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
Log:
credential validation query
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java 2010-06-25 02:14:45 UTC (rev 13301)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java 2010-06-25 02:33:25 UTC (rev 13302)
@@ -269,6 +269,7 @@
}
catch (IdentityException ex)
{
+ log.error("Exception during authentication", ex);
return false;
}
}
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-25 02:14:45 UTC (rev 13301)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-25 02:33:25 UTC (rev 13302)
@@ -3,6 +3,7 @@
import java.io.Serializable;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
+import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -13,6 +14,11 @@
import javax.persistence.EntityManager;
import javax.persistence.Id;
import javax.persistence.NoResultException;
+import javax.persistence.Query;
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
import org.jboss.seam.security.annotations.management.IdentityProperty;
import org.jboss.seam.security.annotations.management.PropertyType;
@@ -71,6 +77,7 @@
private static final String PROPERTY_CREDENTIAL_VALUE = "CREDENTIAL_VALUE";
private static final String PROPERTY_CREDENTIAL_TYPE = "CREDENTIAL_TYPE";
private static final String PROPERTY_CREDENTIAL_TYPE_NAME = "CREDENTIAL_TYPE_NAME";
+ private static final String PROPERTY_CREDENTIAL_IDENTITY = "CREDENTIAL_IDENTITY";
private static final String PROPERTY_RELATIONSHIP_FROM = "RELATIONSHIP_FROM";
private static final String PROPERTY_RELATIONSHIP_TO = "RELATIONSHIP_TO";
private static final String PROPERTY_RELATIONSHIP_TYPE = "RELATIONSHIP_TYPE";
@@ -158,14 +165,17 @@
clsName = configurationContext.getStoreConfigurationMetaData()
.getOptionSingleValue(OPTION_CREDENTIAL_CLASS_NAME);
- try
+ if (clsName != null)
{
- credentialClass = Class.forName(clsName);
+ try
+ {
+ credentialClass = Class.forName(clsName);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new IdentityException("Error bootstrapping JpaIdentityStore - no credential entity class found: " + clsName);
+ }
}
- catch (ClassNotFoundException e)
- {
- throw new IdentityException("Error bootstrapping JpaIdentityStore - no credential entity class found: " + clsName);
- }
clsName = configurationContext.getStoreConfigurationMetaData()
.getOptionSingleValue(OPTION_RELATIONSHIP_CLASS_NAME);
@@ -392,6 +402,36 @@
if (p != null) modelProperties.put(PROPERTY_CREDENTIAL_VALUE, p);
}
}
+
+ // Scan for the credential identity property
+ props = PropertyQueries.createQuery(credentialClass)
+ .addCriteria(new TypedPropertyCriteria(identityClass))
+ .getResultList();
+ if (props.size() == 1)
+ {
+ modelProperties.put(PROPERTY_CREDENTIAL_IDENTITY, props.get(0));
+ }
+ else if (props.size() > 1)
+ {
+ throw new IdentityException(
+ "Ambiguous identity property in credential class " +
+ credentialClass.getName());
+ }
+ else
+ {
+ // Scan for a named identity property
+ props = PropertyQueries.createQuery(credentialClass)
+ .addCriteria(new NamedPropertyCriteria("identity", "identityObject"))
+ .getResultList();
+ if (!props.isEmpty())
+ {
+ modelProperties.put(PROPERTY_CREDENTIAL_IDENTITY, props.get(0));
+ }
+ else
+ {
+ throw new IdentityException("Error initializing JpaIdentityStore - no credential identity property found.");
+ }
+ }
}
else
{
@@ -840,6 +880,14 @@
{
this.relationshipTypeRole = relationshipTypeRole;
}
+
+ public IdentityStoreSession createIdentityStoreSession(
+ Map<String, Object> sessionOptions) throws IdentityException
+ {
+ EntityManager em = (EntityManager) sessionOptions.get("ENTITY_MANAGER");
+
+ return new JpaIdentityStoreSessionImpl(em);
+ }
public IdentityObject createIdentityObject(
IdentityStoreInvocationContext invocationCtx, String name,
@@ -1208,6 +1256,41 @@
IdentityObject identityObject, IdentityObjectCredential credential)
throws IdentityException
{
+ EntityManager em = getEntityManager(ctx);
+
+ Property<?> credentialValue = modelProperties.get(PROPERTY_CREDENTIAL_VALUE);
+
+ // Either credentials are stored in their own class...
+ if (credentialClass != null)
+ {
+ Property<?> credentialIdentity = modelProperties.get(PROPERTY_CREDENTIAL_IDENTITY);
+
+ CriteriaBuilder builder = em.getCriteriaBuilder();
+ CriteriaQuery<?> criteria = builder.createQuery(credentialClass);
+ Root<?> root = criteria.from(credentialClass);
+
+ List<Predicate> predicates = new ArrayList<Predicate>();
+ predicates.add(builder.equal(root.get(credentialIdentity.getName()), lookupIdentity(identityObject)));
+
+ criteria.where(predicates.toArray(new Predicate[0]));
+
+ Query q = em.createQuery(criteria);
+ List<?> results = q.getResultList();
+
+ if (results.isEmpty()) return false;
+
+ for (Object result : results)
+ {
+ Object val = credentialValue.getValue(result);
+ if (val.equals(credential.getValue())) return true;
+ }
+ }
+ // or they're stored in the identity class
+ else
+ {
+
+ }
+
// TODO Auto-generated method stub
return false;
}
@@ -1282,12 +1365,4 @@
{
return createIdentityStoreSession(null);
}
-
- public IdentityStoreSession createIdentityStoreSession(
- Map<String, Object> sessionOptions) throws IdentityException
- {
- EntityManager em = (EntityManager) sessionOptions.get("ENTITY_MANAGER");
-
- return new JpaIdentityStoreSessionImpl(em);
- }
}
13 years, 10 months
Seam SVN: r13301 - in modules/security/trunk/examples/idmconsole: src/main/java/org/jboss/seam/security/examples/idmconsole and 3 other directories.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 22:14:45 -0400 (Thu, 24 Jun 2010)
New Revision: 13301
Added:
modules/security/trunk/examples/idmconsole/idmconsole-ds.xml
modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/action/
modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/action/EntityManagerProducer.java
modules/security/trunk/examples/idmconsole/src/main/resources/META-INF/
modules/security/trunk/examples/idmconsole/src/main/resources/META-INF/persistence.xml
Modified:
modules/security/trunk/examples/idmconsole/
Log:
added datasource
Property changes on: modules/security/trunk/examples/idmconsole
___________________________________________________________________
Name: svn:ignore
+ target
.classpath
.project
.settings
Added: modules/security/trunk/examples/idmconsole/idmconsole-ds.xml
===================================================================
--- modules/security/trunk/examples/idmconsole/idmconsole-ds.xml (rev 0)
+++ modules/security/trunk/examples/idmconsole/idmconsole-ds.xml 2010-06-25 02:14:45 UTC (rev 13301)
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE datasources
+ PUBLIC "-//JBoss//DTD JBOSS JCA Config 1.5//EN"
+ "http://www.jboss.org/j2ee/dtd/jboss-ds_1_5.dtd">
+
+<datasources>
+ <local-tx-datasource>
+ <jndi-name>idmconsoleDatasource</jndi-name>
+ <connection-url>jdbc:hsqldb:${jboss.server.data.dir}${/}hypersonic${/}idmconsole</connection-url>
+ <driver-class>org.hsqldb.jdbcDriver</driver-class>
+ <user-name>sa</user-name>
+ <password></password>
+ </local-tx-datasource>
+
+ <mbean code="org.jboss.jdbc.HypersonicDatabase"
+ name="jboss:service=Hypersonic,database=idmconsole">
+ <attribute name="Database">idmconsole</attribute>
+ <attribute name="InProcessMode">true</attribute>
+ </mbean>
+
+</datasources>
+
Added: modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/action/EntityManagerProducer.java
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/action/EntityManagerProducer.java (rev 0)
+++ modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/action/EntityManagerProducer.java 2010-06-25 02:14:45 UTC (rev 13301)
@@ -0,0 +1,16 @@
+package org.jboss.seam.security.examples.idmconsole.action;
+
+import javax.enterprise.context.RequestScoped;
+import javax.enterprise.inject.Produces;
+import javax.persistence.EntityManager;
+import javax.persistence.PersistenceContext;
+
+public class EntityManagerProducer
+{
+ @PersistenceContext EntityManager entityManager;
+
+ public @Produces @RequestScoped EntityManager produceEntityManager()
+ {
+ return entityManager;
+ }
+}
Added: modules/security/trunk/examples/idmconsole/src/main/resources/META-INF/persistence.xml
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/resources/META-INF/persistence.xml (rev 0)
+++ modules/security/trunk/examples/idmconsole/src/main/resources/META-INF/persistence.xml 2010-06-25 02:14:45 UTC (rev 13301)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
+ version="2.0">
+ <persistence-unit name="idmconsoleDatabase">
+ <provider>org.hibernate.ejb.HibernatePersistence</provider>
+ <jta-data-source>java:/idmconsoleDatasource</jta-data-source>
+ <properties>
+ <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
+ <property name="hibernate.show_sql" value="false"/>
+ </properties>
+ </persistence-unit>
+</persistence>
13 years, 10 months
Seam SVN: r13300 - in modules/security/trunk/impl/src/main/java/org/jboss/seam/security: permission and 1 other directory.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 18:02:10 -0400 (Thu, 24 Jun 2010)
New Revision: 13300
Removed:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleImpl.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleType.java
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/JpaPermissionStore.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/PersistentPermissionResolver.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/RuleBasedPermissionResolver.java
Log:
cleanup
Deleted: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleImpl.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleImpl.java 2010-06-24 21:56:41 UTC (rev 13299)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleImpl.java 2010-06-24 22:02:10 UTC (rev 13300)
@@ -1,49 +0,0 @@
-package org.jboss.seam.security;
-
-import org.picketlink.idm.api.Group;
-import org.picketlink.idm.api.RoleType;
-import org.picketlink.idm.api.User;
-
-/**
- * Seam implementation of the PicketLink Role interface. Each role is a direct
- * one-to-one mapping between User and Group.
- *
- * @author Shane Bryzak
- */
-public class RoleImpl implements org.picketlink.idm.api.Role
-{
- private static final long serialVersionUID = 1187276024036531700L;
-
- private boolean conditional;
-
- private Group group;
- private RoleType roleType;
- private User user;
-
- public RoleImpl(Group group, RoleType roleType, User user)
- {
- this.group = group;
- this.roleType = roleType;
- this.user = user;
- }
-
- public boolean isConditional()
- {
- return conditional;
- }
-
- public Group getGroup()
- {
- return group;
- }
-
- public RoleType getRoleType()
- {
- return roleType;
- }
-
- public User getUser()
- {
- return user;
- }
-}
Deleted: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleType.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleType.java 2010-06-24 21:56:41 UTC (rev 13299)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/RoleType.java 2010-06-24 22:02:10 UTC (rev 13300)
@@ -1,23 +0,0 @@
-package org.jboss.seam.security;
-
-/**
- * Seam implementation of the PicketLink RoleType interface. A RoleType is
- * essentially the name of a particular role. E.g. manager, user, superuser, etc.
- *
- * @author Shane Bryzak
- */
-public class RoleType implements org.picketlink.idm.api.RoleType
-{
- private String name;
-
- public RoleType(String name)
- {
- this.name = name;
- }
-
- public String getName()
- {
- return name;
- }
-
-}
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/JpaPermissionStore.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/JpaPermissionStore.java 2010-06-24 21:56:41 UTC (rev 13299)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/JpaPermissionStore.java 2010-06-24 22:02:10 UTC (rev 13300)
@@ -16,7 +16,6 @@
import javax.persistence.EntityManager;
import javax.persistence.Query;
-import org.jboss.seam.security.RoleImpl;
import org.jboss.seam.security.annotations.permission.PermissionAction;
import org.jboss.seam.security.annotations.permission.PermissionRecipient;
import org.jboss.seam.security.annotations.permission.PermissionRecipientType;
@@ -264,7 +263,7 @@
protected boolean updatePermissionActions(Object target, Principal recipient, String[] actions,
boolean set)
{
- boolean recipientIsRole = recipient instanceof RoleImpl;
+ boolean recipientIsRole = false; //recipient instanceof RoleImpl;
try
{
@@ -532,7 +531,7 @@
*/
protected Object resolvePrincipalEntity(Principal recipient)
{
- boolean recipientIsRole = recipient instanceof RoleImpl;
+ boolean recipientIsRole = false; //recipient instanceof RoleImpl;
//if (identityManager.getIdentityStore() != null //&&
//identityManager.getIdentityStore() instanceof JpaIdentityStore)
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/PersistentPermissionResolver.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/PersistentPermissionResolver.java 2010-06-24 21:56:41 UTC (rev 13299)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/PersistentPermissionResolver.java 2010-06-24 22:02:10 UTC (rev 13300)
@@ -9,7 +9,6 @@
import javax.inject.Inject;
import org.jboss.seam.security.Identity;
-import org.jboss.seam.security.RoleImpl;
import org.jboss.seam.security.SimplePrincipal;
/**
@@ -55,9 +54,9 @@
return true;
}
- if (permission.getRecipient() instanceof RoleImpl)
- {
- RoleImpl role = (RoleImpl) permission.getRecipient();
+ //if (permission.getRecipient() instanceof RoleImpl)
+ //{
+ // RoleImpl role = (RoleImpl) permission.getRecipient();
// TODO fix this
/*if (role.isConditional())
@@ -68,7 +67,7 @@
{
return true;
}*/
- }
+ //}
}
return false;
@@ -100,9 +99,9 @@
break;
}
- if (permission.getRecipient() instanceof RoleImpl)
- {
- RoleImpl role = (RoleImpl) permission.getRecipient();
+ //if (permission.getRecipient() instanceof RoleImpl)
+ //{
+ // RoleImpl role = (RoleImpl) permission.getRecipient();
// TODO fix this
/*
@@ -119,7 +118,7 @@
iter.remove();
break;
}*/
- }
+ //}
}
}
}
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/RuleBasedPermissionResolver.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/RuleBasedPermissionResolver.java 2010-06-24 21:56:41 UTC (rev 13299)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/permission/RuleBasedPermissionResolver.java 2010-06-24 22:02:10 UTC (rev 13300)
@@ -23,7 +23,6 @@
//import org.jboss.seam.drools.SeamGlobalResolver;
import org.jboss.seam.security.Identity;
import org.jboss.seam.security.IdentityImpl;
-import org.jboss.seam.security.RoleImpl;
import org.jboss.seam.security.events.PostLoggedOutEvent;
import org.jboss.seam.security.events.PostAuthenticateEvent;
import org.slf4j.Logger;
@@ -217,8 +216,8 @@
Principal role = (Principal) e.nextElement();
boolean found = false;
- Iterator<?> iter = getSecurityContext().getObjects(
- new ClassObjectFilter(RoleImpl.class)).iterator();
+ //Iterator<?> iter = getSecurityContext().getObjects(
+ // new ClassObjectFilter(RoleImpl.class)).iterator();
// TODO fix
/*
@@ -242,10 +241,10 @@
}
}
- Iterator<?> iter = getSecurityContext().getObjects(new ClassObjectFilter(RoleImpl.class)).iterator();
- while (iter.hasNext())
- {
- RoleImpl r = (RoleImpl) iter.next();
+ //Iterator<?> iter = getSecurityContext().getObjects(new ClassObjectFilter(RoleImpl.class)).iterator();
+ //while (iter.hasNext())
+ //{
+ //RoleImpl r = (RoleImpl) iter.next();
// TODO fix
/*if (!identity.hasRole(r.getName()))
@@ -253,7 +252,7 @@
FactHandle fh = getSecurityContext().getFactHandle(r);
getSecurityContext().retract(fh);
}*/
- }
+ //}
}
}
13 years, 10 months
Seam SVN: r13299 - in modules/security/trunk/impl/src/main/java/org/jboss/seam/security: management and 1 other directory.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 17:56:41 -0400 (Thu, 24 Jun 2010)
New Revision: 13299
Removed:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/UserImpl.java
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java
Log:
use picketlink's SimpleUser implementation
Deleted: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/UserImpl.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/UserImpl.java 2010-06-24 21:44:33 UTC (rev 13298)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/UserImpl.java 2010-06-24 21:56:41 UTC (rev 13299)
@@ -1,30 +0,0 @@
-package org.jboss.seam.security;
-
-import org.picketlink.idm.api.User;
-
-/**
- * Implementation of the PicketLink User interface.
- *
- * @author Shane Bryzak
- */
-public class UserImpl implements User
-{
- private String id;
-
- public UserImpl(String id)
- {
- this.id = id;
- }
-
- public String getId()
- {
- return id;
- }
-
- public String getKey()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java 2010-06-24 21:44:33 UTC (rev 13298)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/IdentityManagerImpl.java 2010-06-24 21:56:41 UTC (rev 13299)
@@ -8,7 +8,6 @@
import javax.inject.Inject;
import org.jboss.seam.security.Identity;
-import org.jboss.seam.security.UserImpl;
import org.jboss.seam.security.util.Strings;
import org.picketlink.idm.api.Credential;
import org.picketlink.idm.api.IdentitySession;
@@ -16,6 +15,7 @@
import org.picketlink.idm.api.Role;
import org.picketlink.idm.api.User;
import org.picketlink.idm.common.exception.IdentityException;
+import org.picketlink.idm.impl.api.model.SimpleUser;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -95,7 +95,7 @@
try
{
- identitySession.getAttributesManager().updateCredential(new UserImpl(name), credential);
+ identitySession.getAttributesManager().updateCredential(new SimpleUser(name), credential);
return true;
}
catch (IdentityException ex)
@@ -265,7 +265,7 @@
try
{
return identitySession.getAttributesManager().validateCredentials(
- new UserImpl(username), new Credential[] {credential});
+ new SimpleUser(username), new Credential[] {credential});
}
catch (IdentityException ex)
{
13 years, 10 months
Seam SVN: r13298 - modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 17:44:33 -0400 (Thu, 24 Jun 2010)
New Revision: 13298
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java
Log:
set identity mapping type
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java 2010-06-24 14:50:09 UTC (rev 13297)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java 2010-06-24 21:44:33 UTC (rev 13298)
@@ -72,7 +72,9 @@
// Create the default realm
RealmConfigurationMetaDataImpl realm = new RealmConfigurationMetaDataImpl();
- realm.setId("default");
+ realm.setId("default");
+ realm.setIdentityMapping("USER");
+ //realm.setGroupTypeMappings(groupTypeMappings)
realm.setOptions(new HashMap<String,List<String>>());
List<RealmConfigurationMetaData> realms = new ArrayList<RealmConfigurationMetaData>();
realms.add(realm);
@@ -92,8 +94,8 @@
mapping.setIdentityObjectTypeMappings(identityObjectTypes);
mapping.setIdentityStoreId("jpa");
mappings.add(mapping);
- repository.setIdentityStoreToIdentityObjectTypeMappings(mappings);
-
+ repository.setIdentityStoreToIdentityObjectTypeMappings(mappings);
+
repositories.add(repository);
metadata.setRepositories(repositories);
@@ -116,7 +118,8 @@
throws IdentityException
{
Map<String,Object> sessionOptions = new HashMap<String,Object>();
- sessionOptions.put("ENTITY_MANAGER", entityManagerInstance.get());
+ sessionOptions.put("ENTITY_MANAGER", entityManagerInstance.get());
+
IdentitySession session = factory.createIdentitySession(getDefaultRealm(), sessionOptions);
session.registerListener(this);
return session;
13 years, 10 months
Seam SVN: r13297 - branches/enterprise/JBPAPP_5_0/src/test/ftest/examples.
by seam-commits@lists.jboss.org
Author: manaRH
Date: 2010-06-24 10:50:09 -0400 (Thu, 24 Jun 2010)
New Revision: 13297
Modified:
branches/enterprise/JBPAPP_5_0/src/test/ftest/examples/build.xml
Log:
upgraded used selenium artifacts - current doesn't work with firefox 3.6.3
Modified: branches/enterprise/JBPAPP_5_0/src/test/ftest/examples/build.xml
===================================================================
--- branches/enterprise/JBPAPP_5_0/src/test/ftest/examples/build.xml 2010-06-24 11:38:23 UTC (rev 13296)
+++ branches/enterprise/JBPAPP_5_0/src/test/ftest/examples/build.xml 2010-06-24 14:50:09 UTC (rev 13297)
@@ -314,13 +314,13 @@
<target name="copy.selenium" unless="copy.selenium.done">
<copyInlineDependencies id="selenium.server" scope="compile" todir="${ftest.lib.dir}">
- <dependency groupId="org.seleniumhq.selenium.server" artifactId="selenium-server" version="1.0.1" classifier="standalone">
+ <dependency groupId="org.seleniumhq.selenium.server" artifactId="selenium-server" version="1.0.3" classifier="standalone">
<exclusion groupId="org.seleniumhq.selenium.core" artifactId="selenium-core" />
<exclusion groupId="org.seleniumhq.selenium.server" artifactId="selenium-server-coreless" />
<exclusion groupId="org.apache.ant" artifactId="ant-trax" />
<exclusion groupId="org.apache.ant" artifactId="ant-nodeps" />
</dependency>
- <dependency groupId="org.seleniumhq.selenium.client-drivers" artifactId="selenium-java-client-driver" version="1.0.1">
+ <dependency groupId="org.seleniumhq.selenium.client-drivers" artifactId="selenium-java-client-driver" version="1.0.2">
<exclusion groupId="org.codehaus.groovy.maven.runtime" artifactId="gmaven-runtime-default" />
</dependency>
<dependency groupId="org.subethamail" artifactId="subethasmtp-smtp" version="1.2" >
13 years, 10 months
Seam SVN: r13296 - in modules/security/trunk/impl/src/main/java/org/jboss/seam/security: jaas and 3 other directories.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 07:38:23 -0400 (Thu, 24 Jun 2010)
New Revision: 13296
Removed:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/PasswordCredential.java
Modified:
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/CredentialsImpl.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/IdentityImpl.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/action/UserAction.java
modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java
Log:
use picketlink PasswordCredential implementation
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/CredentialsImpl.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/CredentialsImpl.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/CredentialsImpl.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -10,6 +10,7 @@
import org.jboss.seam.security.events.CredentialsInitializedEvent;
import org.jboss.seam.security.events.CredentialsUpdatedEvent;
import org.picketlink.idm.api.Credential;
+import org.picketlink.idm.impl.api.PasswordCredential;
/**
* The default Credentials implementation. This implementation allows for a
@@ -77,7 +78,7 @@
public String getPassword()
{
return credential != null && credential instanceof PasswordCredential ?
- ((PasswordCredential) credential).getPassword() : null;
+ ((PasswordCredential) credential).getValue() : null;
}
public void setPassword(String password)
@@ -87,9 +88,9 @@
this.credential = new PasswordCredential(password);
}
else if (this.credential != null && this.credential instanceof PasswordCredential &&
- ((PasswordCredential) this.credential).getPassword() != password &&
- ((PasswordCredential) this.credential).getPassword() == null ||
- !((PasswordCredential) this.credential).getPassword().equals(password))
+ ((PasswordCredential) this.credential).getValue() != password &&
+ ((PasswordCredential) this.credential).getValue() == null ||
+ !((PasswordCredential) this.credential).getValue().equals(password))
{
this.credential = new PasswordCredential(password);
invalid = false;
@@ -100,7 +101,7 @@
public boolean isSet()
{
return getUsername() != null && this.credential != null &&
- ((PasswordCredential) this.credential).getPassword() != null;
+ ((PasswordCredential) this.credential).getValue() != null;
}
public boolean isInvalid()
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/IdentityImpl.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/IdentityImpl.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/IdentityImpl.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -42,6 +42,7 @@
import org.jboss.seam.security.events.QuietLoginEvent;
import org.jboss.seam.security.management.IdentityManager;
import org.jboss.seam.security.permission.PermissionMapper;
+import org.picketlink.idm.impl.api.PasswordCredential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -451,8 +452,8 @@
if (credentials.getCredential() instanceof PasswordCredential)
{
PasswordCredential credential = (PasswordCredential) credentials.getCredential();
- ( (PasswordCallback) callbacks[i] ).setPassword( credential.getPassword() != null ?
- credential.getPassword().toCharArray() : null );
+ ( (PasswordCallback) callbacks[i] ).setPassword( credential.getValue() != null ?
+ credential.getValue().toCharArray() : null );
}
}
else if (callbacks[i] instanceof IdentityCallback)
Deleted: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/PasswordCredential.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/PasswordCredential.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/PasswordCredential.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -1,32 +0,0 @@
-package org.jboss.seam.security;
-
-import javax.enterprise.context.RequestScoped;
-
-
-/**
- * Seam implementation of the PicketLink Credential interface
- *
- * @author Shane Bryzak
- */
-@RequestScoped
-public class PasswordCredential implements org.picketlink.idm.api.Credential
-{
- private static final CredentialType CREDENTIAL_TYPE = new CredentialType("password");
-
- private String password;
-
- public PasswordCredential(String password)
- {
- this.password = password;
- }
-
- public org.picketlink.idm.api.CredentialType getType()
- {
- return CREDENTIAL_TYPE;
- }
-
- public String getPassword()
- {
- return password;
- }
-}
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/jaas/SeamLoginModule.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -12,13 +12,13 @@
import javax.security.auth.login.LoginException;
import javax.security.auth.spi.LoginModule;
-import org.jboss.seam.security.PasswordCredential;
import org.jboss.seam.security.SimplePrincipal;
import org.jboss.seam.security.callbacks.AuthenticatorCallback;
import org.jboss.seam.security.callbacks.IdentityCallback;
import org.jboss.seam.security.callbacks.IdentityManagerCallback;
import org.jboss.seam.security.management.IdentityManager;
import org.picketlink.idm.api.Role;
+import org.picketlink.idm.impl.api.PasswordCredential;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/JpaIdentityStore.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -52,6 +52,8 @@
private Logger log = LoggerFactory.getLogger(JpaIdentityStore.class);
public static final String OPTION_IDENTITY_CLASS_NAME = "identityEntityClassName";
+ public static final String OPTION_CREDENTIAL_CLASS_NAME = "credentialEntityClassName";
+ public static final String OPTION_RELATIONSHIP_CLASS_NAME = "relationshipEntityClassName";
private static final String DEFAULT_USER_IDENTITY_TYPE = "USER";
private static final String DEFAULT_ROLE_IDENTITY_TYPE = "ROLE";
@@ -78,19 +80,7 @@
private static final String PROPERTY_ATTRIBUTE_VALUE = "ATTRIBUTE_VALUE";
private static final String PROPERTY_ROLE_TYPE_NAME = "ROLE_TYPE_NAME";
- /**
- *
- */
- //@Inject Instance<EntityManager> entityManagerInstance;
-
- /**
- *
- */
- //@Inject CredentialProcessor credentialEncoder;
-
private String id;
-
- private IdentityStoreConfigurationContext configurationContext;
// Entity classes
@@ -146,9 +136,7 @@
public void bootstrap(IdentityStoreConfigurationContext configurationContext)
throws IdentityException
- {
- this.configurationContext = configurationContext;
-
+ {
String clsName = configurationContext.getStoreConfigurationMetaData()
.getOptionSingleValue(OPTION_IDENTITY_CLASS_NAME);
@@ -167,6 +155,30 @@
"Error initializing JpaIdentityStore - identityClass not set");
}
+ clsName = configurationContext.getStoreConfigurationMetaData()
+ .getOptionSingleValue(OPTION_CREDENTIAL_CLASS_NAME);
+
+ try
+ {
+ credentialClass = Class.forName(clsName);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new IdentityException("Error bootstrapping JpaIdentityStore - no credential entity class found: " + clsName);
+ }
+
+ clsName = configurationContext.getStoreConfigurationMetaData()
+ .getOptionSingleValue(OPTION_RELATIONSHIP_CLASS_NAME);
+
+ try
+ {
+ relationshipClass = Class.forName(clsName);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new IdentityException("Error bootstrapping JpaIdentityStore - no relationship entity class found: " + clsName);
+ }
+
configureIdentityId();
configureIdentityName();
configureIdentityType();
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/action/UserAction.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/action/UserAction.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/action/UserAction.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -9,9 +9,9 @@
import javax.inject.Inject;
import javax.inject.Named;
-import org.jboss.seam.security.PasswordCredential;
import org.jboss.seam.security.management.IdentityManager;
import org.picketlink.idm.api.Role;
+import org.picketlink.idm.impl.api.PasswordCredential;
/**
* A conversation-scoped component for creating and managing user accounts
Modified: modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java
===================================================================
--- modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java 2010-06-24 04:25:24 UTC (rev 13295)
+++ modules/security/trunk/impl/src/main/java/org/jboss/seam/security/management/picketlink/IdentitySessionProducer.java 2010-06-24 11:38:23 UTC (rev 13296)
@@ -20,10 +20,14 @@
import org.picketlink.idm.common.exception.IdentityException;
import org.picketlink.idm.impl.configuration.IdentityConfigurationImpl;
import org.picketlink.idm.impl.configuration.metadata.IdentityConfigurationMetaDataImpl;
+import org.picketlink.idm.impl.configuration.metadata.IdentityRepositoryConfigurationMetaDataImpl;
import org.picketlink.idm.impl.configuration.metadata.IdentityStoreConfigurationMetaDataImpl;
+import org.picketlink.idm.impl.configuration.metadata.IdentityStoreMappingMetaDataImpl;
import org.picketlink.idm.impl.configuration.metadata.RealmConfigurationMetaDataImpl;
import org.picketlink.idm.spi.configuration.metadata.IdentityConfigurationMetaData;
+import org.picketlink.idm.spi.configuration.metadata.IdentityRepositoryConfigurationMetaData;
import org.picketlink.idm.spi.configuration.metadata.IdentityStoreConfigurationMetaData;
+import org.picketlink.idm.spi.configuration.metadata.IdentityStoreMappingMetaData;
import org.picketlink.idm.spi.configuration.metadata.RealmConfigurationMetaData;
/**
@@ -51,12 +55,17 @@
store.setId("jpa");
store.setClassName("org.jboss.seam.security.management.JpaIdentityStore");
- // temporary hack
+ // temporary hack to get the example working
Map<String,List<String>> options = new HashMap<String,List<String>>();
options.put(JpaIdentityStore.OPTION_IDENTITY_CLASS_NAME,
createOptionList("org.jboss.seam.security.examples.idmconsole.model.IdentityObject"));
+ options.put(JpaIdentityStore.OPTION_CREDENTIAL_CLASS_NAME,
+ createOptionList("org.jboss.seam.security.examples.idmconsole.model.IdentityObjectCredential"));
+ options.put(JpaIdentityStore.OPTION_RELATIONSHIP_CLASS_NAME,
+ createOptionList("org.jboss.seam.security.examples.idmconsole.model.IdentityObjectRelationship"));
+
store.setOptions(options);
stores.add(store);
metadata.setIdentityStores(stores);
@@ -64,13 +73,32 @@
// Create the default realm
RealmConfigurationMetaDataImpl realm = new RealmConfigurationMetaDataImpl();
realm.setId("default");
+ realm.setOptions(new HashMap<String,List<String>>());
List<RealmConfigurationMetaData> realms = new ArrayList<RealmConfigurationMetaData>();
realms.add(realm);
metadata.setRealms(realms);
+
+ List<IdentityRepositoryConfigurationMetaData> repositories = new ArrayList<IdentityRepositoryConfigurationMetaData>();
+ IdentityRepositoryConfigurationMetaDataImpl repository = new IdentityRepositoryConfigurationMetaDataImpl();
+ repository.setClassName("org.picketlink.idm.impl.repository.WrapperIdentityStoreRepository");
+ repository.setDefaultAttributeStoreId("jpa");
+ repository.setDefaultIdentityStoreId("jpa");
+
+ List<IdentityStoreMappingMetaData> mappings = new ArrayList<IdentityStoreMappingMetaData>();
+ IdentityStoreMappingMetaDataImpl mapping = new IdentityStoreMappingMetaDataImpl();
+ List<String> identityObjectTypes = new ArrayList<String>();
+ identityObjectTypes.add("USER");
+ identityObjectTypes.add("GROUP");
+ mapping.setIdentityObjectTypeMappings(identityObjectTypes);
+ mapping.setIdentityStoreId("jpa");
+ mappings.add(mapping);
+ repository.setIdentityStoreToIdentityObjectTypeMappings(mappings);
+
+ repositories.add(repository);
+ metadata.setRepositories(repositories);
IdentityConfigurationImpl config = new IdentityConfigurationImpl();
config.configure(metadata);
- config.register(this, "identitySessionProducer");
factory = config.buildIdentitySessionFactory();
}
13 years, 10 months
Seam SVN: r13295 - modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model.
by seam-commits@lists.jboss.org
Author: shane.bryzak(a)jboss.com
Date: 2010-06-24 00:25:24 -0400 (Thu, 24 Jun 2010)
New Revision: 13295
Added:
modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationship.java
modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationshipType.java
Log:
added relationship entities
Added: modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationship.java
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationship.java (rev 0)
+++ modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationship.java 2010-06-24 04:25:24 UTC (rev 13295)
@@ -0,0 +1,82 @@
+package org.jboss.seam.security.examples.idmconsole.model;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import javax.persistence.ManyToOne;
+
+import org.jboss.seam.security.annotations.management.IdentityProperty;
+import org.jboss.seam.security.annotations.management.PropertyType;
+
+/**
+ * Contains relationships between identities
+ *
+ * @author Shane Bryzak
+ */
+@Entity
+public class IdentityObjectRelationship implements Serializable
+{
+ private static final long serialVersionUID = -5254503795105571898L;
+
+ private Long id;
+ private String name;
+ private IdentityObjectRelationshipType type;
+ private IdentityObject from;
+ private IdentityObject to;
+
+ @Id @GeneratedValue
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ @ManyToOne @IdentityProperty(PropertyType.TYPE)
+ public IdentityObjectRelationshipType getType()
+ {
+ return type;
+ }
+
+ public void setType(IdentityObjectRelationshipType type)
+ {
+ this.type = type;
+ }
+
+ @ManyToOne @IdentityProperty(PropertyType.RELATIONSHIP_FROM)
+ public IdentityObject getFrom()
+ {
+ return from;
+ }
+
+ public void setFrom(IdentityObject from)
+ {
+ this.from = from;
+ }
+
+ @ManyToOne @IdentityProperty(PropertyType.RELATIONSHIP_TO)
+ public IdentityObject getTo()
+ {
+ return to;
+ }
+
+ public void setTo(IdentityObject to)
+ {
+ this.to = to;
+ }
+}
Added: modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationshipType.java
===================================================================
--- modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationshipType.java (rev 0)
+++ modules/security/trunk/examples/idmconsole/src/main/java/org/jboss/seam/security/examples/idmconsole/model/IdentityObjectRelationshipType.java 2010-06-24 04:25:24 UTC (rev 13295)
@@ -0,0 +1,46 @@
+package org.jboss.seam.security.examples.idmconsole.model;
+
+import java.io.Serializable;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+
+import org.jboss.seam.security.annotations.management.IdentityProperty;
+import org.jboss.seam.security.annotations.management.PropertyType;
+
+/**
+ * Lookup table containing relationship types
+ *
+ * @author Shane Bryzak
+ */
+@Entity
+public class IdentityObjectRelationshipType implements Serializable
+{
+ private static final long serialVersionUID = -67640567413388470L;
+
+ private Long id;
+ private String name;
+
+ @Id @GeneratedValue
+ public Long getId()
+ {
+ return id;
+ }
+
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ @IdentityProperty(PropertyType.NAME)
+ public String getName()
+ {
+ return name;
+ }
+
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+}
13 years, 10 months