1 package org
.argeo
.security
.jcr
;
5 import javax
.jcr
.Session
;
7 import org
.argeo
.ArgeoException
;
8 import org
.argeo
.security
.ArgeoUser
;
9 import org
.argeo
.security
.CurrentUserDao
;
10 import org
.argeo
.security
.CurrentUserService
;
11 import org
.argeo
.security
.UserNature
;
12 import org
.springframework
.security
.Authentication
;
13 import org
.springframework
.security
.context
.SecurityContextHolder
;
15 public class CurrentUserServiceJcr
implements CurrentUserService
{
16 private Session session
;
17 private CurrentUserDao currentUserDao
;
19 public ArgeoUser
getCurrentUser() {
20 Authentication authentication
= SecurityContextHolder
.getContext()
24 if (authentication
instanceof JcrAuthenticationToken
) {
25 userSession
= ((JcrAuthenticationToken
) authentication
)
29 throw new ArgeoException("No user JCR session available");
30 userSession
= session
;
33 JcrUserDetails jcrUserDetails
= (JcrUserDetails
) authentication
35 return JcrUserDetails
.jcrUserDetailsToArgeoUser(userSession
,
39 public void updateCurrentUserPassword(String oldPassword
, String newPassword
) {
40 currentUserDao
.updateCurrentUserPassword(oldPassword
, newPassword
);
44 public void updateCurrentUserNatures(Map
<String
, UserNature
> userNatures
) {
45 // TODO Auto-generated method stub
49 public void setSession(Session session
) {
50 this.session
= session
;
53 public void setCurrentUserDao(CurrentUserDao currentUserDao
) {
54 this.currentUserDao
= currentUserDao
;