deltaspike-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nathan Dennis <Nathan.Den...@monarchnc.org>
Subject RE: simple authentication
Date Tue, 03 Sep 2013 14:52:12 GMT
Kelly,
         It really depends on your needs. When I made the leap to DS, I had the same questions
and did the same research. Cody's app example is very helpful and you will need parts of it
even if you choose to go with Picketlink as I did. In my case, I had need of both role and
group based securities, ldap integration (wrote my own there) and security both at the bean
and presentation layers.  Most of the functionality from Seam can be gained again simply by
thinking outside the box with the picketlink tools, the DS modules currently available and
a few things from Cody's example.




best regards,

Nathan Dennis | Software Developer
732 Greenwood Street | Albemarle, NC | 28001
Main (800) 230-7525 | Direct: 704-986-7211 | Mobile 704.984.0829
www.monarchnc.org | nathan.dennis@monarchnc.org



-----Original Message-----
From: Cody Lerum [mailto:cody.lerum@gmail.com]
Sent: Tuesday, September 03, 2013 10:42 AM
To: users@deltaspike.apache.org
Subject: Re: simple authentication

I threw https://github.com/codylerum/simple-identity together.

Haven't gotten around to publishing to central.

Very simple.
On Sep 3, 2013 7:44 AM, "Kelly Goedert" <kelly.goedert@gmail.com> wrote:

> Thanks. I will try picketlink/box
>
>
> On Tue, Sep 3, 2013 at 10:42 AM, <info@softwareentwicklung-hell.de> 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 <kelly.goedert@gmail.com>:
> >
> >  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
> >>
> >>
> >
>


[http://monarchnc.org/images/monarch/env.png]Please consider the environment before printing
this email.
WARNING: This email is intended solely for the person or entity to which it is addressed and
may contain confidential and/or privileged information. Any review, dissemination, copying,
printing or other use of the email by persons or entities other than the addressee is prohibited.
If you have received this email in error, please contact the sender immediately and delete
the material from any computer. If you are unable to determine the sender of this email, please
email Monarch at Support@monarchnc.org or contact us at toll free (800) 230-7525, and advise
us of the error.
Mime
View raw message