[jboss-cvs] jboss-seam/examples/security/src/org/jboss/seam/example/security ...
Shane Bryzak
Shane_Bryzak at symantec.com
Wed Jul 26 02:03:14 EDT 2006
User: sbryzak2
Date: 06/07/26 02:03:14
Modified: examples/security/src/org/jboss/seam/example/security
LoginAction.java User.java
Added: examples/security/src/org/jboss/seam/example/security
LoginModule.java LoginModuleLocal.java Role.java
Log:
Updated security test app
Revision Changes Path
1.2 +7 -3 jboss-seam/examples/security/src/org/jboss/seam/example/security/LoginAction.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: LoginAction.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/security/src/org/jboss/seam/example/security/LoginAction.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- LoginAction.java 25 Jul 2006 06:56:16 -0000 1.1
+++ LoginAction.java 26 Jul 2006 06:03:14 -0000 1.2
@@ -1,10 +1,13 @@
package org.jboss.seam.example.security;
-import org.jboss.seam.annotations.Name;
+import java.security.Principal;
import javax.ejb.Stateless;
+
import org.jboss.seam.annotations.In;
+import org.jboss.seam.annotations.Name;
+import org.jboss.seam.annotations.Out;
+import org.jboss.seam.core.FacesMessages;
import org.jboss.seam.security.realm.Realm;
-import java.security.Principal;
/**
* Authenticates the user against the Realm.
@@ -17,7 +20,7 @@
{
@In("org.jboss.seam.security.realm.Realm") Realm realm;
- @In User user;
+ @In @Out User user;
public String login()
{
@@ -31,6 +34,7 @@
}
catch (Exception ex)
{
+ FacesMessages.instance().add("Invalid login, please check your username and password are correct");
return "login";
}
}
1.2 +21 -15 jboss-seam/examples/security/src/org/jboss/seam/example/security/User.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: User.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/examples/security/src/org/jboss/seam/example/security/User.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- User.java 25 Jul 2006 06:56:16 -0000 1.1
+++ User.java 26 Jul 2006 06:03:14 -0000 1.2
@@ -1,8 +1,12 @@
package org.jboss.seam.example.security;
+import java.util.Set;
import javax.persistence.Entity;
-import org.jboss.seam.annotations.Name;
import javax.persistence.Id;
+import javax.persistence.OneToMany;
+
+import org.jboss.seam.annotations.Name;
+import javax.persistence.JoinColumn;
/**
* <p>PROPRIETARY/CONFIDENTIAL Use of this product is subject to license terms.
@@ -15,38 +19,40 @@
@Name("user")
public class User
{
- private Integer userId;
private String username;
private String password;
+ private Set<Role> roles;
- public String getPassword()
+ @Id
+ public String getUsername()
{
- return password;
+ return username;
}
- public void setPassword(String password)
+ public String getPassword()
{
- this.password = password;
+ return password;
}
- public void setUsername(String username)
+ @OneToMany
+ @JoinColumn(name = "USERNAME")
+ public Set<Role> getRoles()
{
- this.username = username;
+ return roles;
}
- @Id
- public void setUserId(Integer userId)
+ public void setPassword(String password)
{
- this.userId = userId;
+ this.password = password;
}
- public Integer getUserId()
+ public void setUsername(String username)
{
- return userId;
+ this.username = username;
}
- public String getUsername()
+ public void setRoles(Set<Role> roles)
{
- return username;
+ this.roles = roles;
}
}
1.1 date: 2006/07/26 06:03:14; author: sbryzak2; state: Exp;jboss-seam/examples/security/src/org/jboss/seam/example/security/LoginModule.java
Index: LoginModule.java
===================================================================
package org.jboss.seam.example.security;
import javax.ejb.Remove;
import javax.ejb.Stateful;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import org.jboss.seam.annotations.Destroy;
import org.jboss.seam.annotations.Name;
import javax.persistence.NoResultException;
/**
*
* @author Shane Bryzak
*/
@Stateful
@Name("loginModule")
public class LoginModule implements LoginModuleLocal
{
@PersistenceContext EntityManager manager;
private String principal;
private String[] roles;
public void login(String username, String password)
throws SecurityException
{
try
{
User user = (User) manager.createQuery(
"from User where username = :username and password = :password")
.setParameter("username", username)
.setParameter("password", password)
.getSingleResult();
principal = user.getUsername();
roles = new String[user.getRoles().size()];
int idx = 0;
for (Role role : user.getRoles())
roles[idx++] = role.getRole();
}
catch (NoResultException ex)
{
throw new SecurityException("Invalid username/password");
}
catch (Exception ex)
{
throw new SecurityException("Unknown error", ex);
}
}
public String getPrincipal()
{
return principal;
}
public String[] getRoles()
{
return roles;
}
@Remove @Destroy
public void destroy()
{
}
}
1.1 date: 2006/07/26 06:03:14; author: sbryzak2; state: Exp;jboss-seam/examples/security/src/org/jboss/seam/example/security/LoginModuleLocal.java
Index: LoginModuleLocal.java
===================================================================
package org.jboss.seam.example.security;
/**
*
* @author Shane Bryzak
*/
public interface LoginModuleLocal
{
void login(String username, String password) throws SecurityException;
String getPrincipal();
String[] getRoles();
void destroy();
}
1.1 date: 2006/07/26 06:03:14; author: sbryzak2; state: Exp;jboss-seam/examples/security/src/org/jboss/seam/example/security/Role.java
Index: Role.java
===================================================================
package org.jboss.seam.example.security;
import javax.persistence.Entity;
import org.jboss.seam.annotations.Name;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.JoinColumn;
/**
* A user role.
*
* @author Shane Bryzak
* @version 1.0
*/
@Entity
@Name("userrole")
public class Role
{
private Integer roleId;
private User user;
private String role;
@Id
public Integer getRoleId()
{
return roleId;
}
@ManyToOne
public User getUser()
{
return user;
}
public String getRole()
{
return role;
}
public void setRoleId(Integer roleId)
{
this.roleId = roleId;
}
public void setUser(User user)
{
this.user = user;
}
public void setRole(String role)
{
this.role = role;
}
}
More information about the jboss-cvs-commits
mailing list