Thanks. I will try picketlink/box
On Tue, Sep 3, 2013 at 10:42 AM, <[email protected]> wrote: > Hi, > > DeltaSpike doesn't provide an authentication mechanism. > > You could integrate Picketlink/Box or build your own. With an own producer > for current user (Take care of the annotation) you have nearly the same > like seam. And for some role checking you can build an easy helper class > too. I did the last way and included something like that: > > @Named(value = "authenticator") > @SessionScoped > public class Authenticator implements Serializable { > > /** > * Serial Version UID > */ > private static final long serialVersionUID = 1L; > > > > @Inject > private UserServiceLocal userService; > > private String loginName; > private String password; > > private User currentUser; > > > public String authenticate() { > if (null != currentUser) { > return "home?faces-redirect=true"; > } > currentUser = userService.findByLoginName(**loginName); > if (null != currentUser) { > if(currentUser.getPassword().**equals(password)) { > return "home?faces-redirect=true"; > } > currentUser = null; > } > return "index?faces-redirect=true"; > } > > public String logout() { > currentUser = null; FacesContext.**getCurrentInstance().** > getExternalContext().**invalidateSession(); > return "index?faces-redirect=true"; > } > > @Named > @Produces > @CurrentUser > public User getCurrentUser() { > return currentUser; > } > > /** > * @return the password > */ > public String getPassword() { > return password; > } > > /** > * @param password the password to set > */ > public void setPassword(String password) { > this.password = password; > } > > public String getLoginName() { > return loginName; > } > > public void setLoginName(String loginName) { > this.loginName = loginName; > } > } > > @Named > @ViewScoped > public class Security implements Serializable { > > /** > * Serial Version UID > */ > private static final long serialVersionUID = 1L; > > @Inject > @CurrentUser > private User user; > > @Inject > private SecurityServiceLocal securityService; > > private List<String> roleNames; > > @PostConstruct > public void init() { > if (null != user) { > roleNames = new ArrayList<String>(); > > for (SecurityRole role : securityService.loadUserRoles(**user)) > { > roleNames.add(role.getName()); > } > > } > } > > public boolean hasRole(String roleName) { > if (null != roleNames && !roleNames.isEmpty() && null != roleName) > { > return roleNames.contains(roleName); > } > return false; > } > > public boolean isAdmin() { > if (null != roleNames && !roleNames.isEmpty()) { > return roleNames.contains("ADMIN"); > } > return false; > } > > public boolean isLoggedIn() { > if (null != user) { > return true; > } > return false; > } > > Kind Regards > Florian > > > Quoting Kelly Goedert <[email protected]>: > > Hi, >> >> I have a very simple application working with seam 3. It has a login and a >> simple crud. Now I would like to migrate this simple example to >> deltaspike. >> I simply added deltaspike core and security dependencies, but I am missing >> the dependencies for BaseAuthenticator and Authenticator interface. >> >> What dependencies I am missing? Is there an example on doing a simple >> authentication process? >> >> Thanks >> >> Kelly >> >> >
