1 package eu
.etaxonomy
.cdm
.vaadin
.view
;
5 import org
.springframework
.security
.authentication
.AuthenticationManager
;
6 import org
.springframework
.security
.authentication
.UsernamePasswordAuthenticationToken
;
7 import org
.springframework
.security
.core
.Authentication
;
8 import org
.springframework
.security
.core
.context
.SecurityContextHolder
;
10 import com
.vaadin
.server
.VaadinSession
;
12 import eu
.etaxonomy
.cdm
.vaadin
.util
.CdmSpringContextHelper
;
13 import eu
.etaxonomy
.cdm
.vaadin
.util
.CdmVaadinAuthentication
;
14 import eu
.etaxonomy
.cdm
.vaadin
.util
.CdmVaadinSessionUtilities
;
16 public class AuthenticationPresenter
implements IAuthenticationComponent
.AuthenticationComponentListener
{
19 public boolean login(URI uri
, String context
, String userName
, String password
) {
21 UsernamePasswordAuthenticationToken token
= new UsernamePasswordAuthenticationToken(userName
, password
);
22 AuthenticationManager authenticationManager
= (AuthenticationManager
) CdmSpringContextHelper
.getCurrent().getBean("authenticationManager");
23 Authentication authentication
= authenticationManager
.authenticate(token
);
25 if(authentication
!= null && authentication
.isAuthenticated()) {
26 SecurityContextHolder
.getContext().setAuthentication(authentication
);
27 CdmVaadinAuthentication cvAuthentication
= (CdmVaadinAuthentication
) VaadinSession
.getCurrent().getAttribute(CdmVaadinAuthentication
.KEY
);
28 if(cvAuthentication
== null) {
29 cvAuthentication
= new CdmVaadinAuthentication();
31 cvAuthentication
.addAuthentication(uri
, context
, authentication
);
32 CdmVaadinSessionUtilities
.setCurrentAttribute(CdmVaadinAuthentication
.KEY
, cvAuthentication
);