Search in sources :

Example 1 with UserInfo

use of org.maxkey.entity.UserInfo in project MaxKey by dromara.

the class DingtalkUsersService method buildUserInfo.

public UserInfo buildUserInfo(ListUserResponse user) {
    UserInfo userInfo = new UserInfo();
    // 閻ц缍嶉崥锟�
    userInfo.setUsername(user.getUserid());
    // 閻€劍鍩涢崥锟�
    userInfo.setNickName(user.getName());
    // 閻€劍鍩涢崥锟�
    userInfo.setDisplayName(user.getName());
    // 閻€劍鍩涢崥锟�
    userInfo.setFormattedName(user.getName());
    userInfo.setEmail(StringUtils.isBlank(user.getEmail()) ? user.getUserid() + "@maxkey.top" : user.getEmail());
    userInfo.setEntryDate(new DateTime(user.getHiredDate()).toString(DateTimeFormat.forPattern("yyyy-MM-dd")));
    // 閹靛婧�
    userInfo.setMobile(user.getMobile());
    userInfo.setDepartmentId(user.getDeptIdList().get(0) + "");
    userInfo.setEmployeeNumber(user.getJobNumber());
    // 閼卞苯濮�
    userInfo.setJobTitle(user.getTitle());
    // 瀹搞儰缍旈柇顔绘
    userInfo.setWorkEmail(user.getOrgEmail());
    // 閸忣剙寰冮悽浣冪樈
    userInfo.setWorkPhoneNumber(user.getTelephone());
    // 閸旂偛鍙曠�癸拷
    userInfo.setWorkOfficeName(user.getWorkPlace());
    if (user.getActive()) {
        userInfo.setStatus(ConstsStatus.ACTIVE);
    } else {
        userInfo.setStatus(ConstsStatus.INACTIVE);
    }
    userInfo.setInstId(this.synchronizer.getInstId());
    userInfo.setDescription("dingtalk " + user.getRemark());
    return userInfo;
}
Also used : UserInfo(org.maxkey.entity.UserInfo) DateTime(org.joda.time.DateTime)

Example 2 with UserInfo

use of org.maxkey.entity.UserInfo in project MaxKey by dromara.

the class OAuth2UserDetailsService method loadUserByUsername.

public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
    UserInfo userInfo;
    try {
        userInfo = loginRepository.find(username, "");
    } catch (NoSuchClientException e) {
        throw new UsernameNotFoundException(e.getMessage(), e);
    }
    String onlineTickitId = WebConstants.ONLINE_TICKET_PREFIX + "-" + java.util.UUID.randomUUID().toString().toLowerCase();
    SigninPrincipal signinPrincipal = new SigninPrincipal(userInfo);
    OnlineTicket onlineTicket = new OnlineTicket(onlineTickitId);
    // set OnlineTicket
    signinPrincipal.setOnlineTicket(onlineTicket);
    ArrayList<GrantedAuthority> grantedAuthoritys = loginRepository.grantAuthority(userInfo);
    signinPrincipal.setAuthenticated(true);
    for (GrantedAuthority administratorsAuthority : AbstractAuthenticationProvider.grantedAdministratorsAuthoritys) {
        if (grantedAuthoritys.contains(administratorsAuthority)) {
            signinPrincipal.setRoleAdministrators(true);
            _logger.trace("ROLE ADMINISTRATORS Authentication .");
        }
    }
    _logger.debug("Granted Authority " + grantedAuthoritys);
    signinPrincipal.setGrantedAuthorityApps(grantedAuthoritys);
    return signinPrincipal;
}
Also used : UsernameNotFoundException(org.springframework.security.core.userdetails.UsernameNotFoundException) OnlineTicket(org.maxkey.authn.online.OnlineTicket) GrantedAuthority(org.springframework.security.core.GrantedAuthority) SigninPrincipal(org.maxkey.authn.SigninPrincipal) UserInfo(org.maxkey.entity.UserInfo)

Example 3 with UserInfo

use of org.maxkey.entity.UserInfo in project MaxKey by dromara.

the class SessionListenerAdapter method sessionDestroyed.

/**
 * session Destroyed
 */
@Override
public void sessionDestroyed(HttpSessionEvent sessionEvent) {
    HttpSession session = sessionEvent.getSession();
    Object sessionIdAttribute = session.getAttribute(WebConstants.CURRENT_USER_SESSION_ID);
    _logger.trace("session Id : " + session.getId());
    if (sessionIdAttribute != null) {
        init();
        UserInfo userInfo = (UserInfo) session.getAttribute(WebConstants.CURRENT_USER);
        userInfo.setLastLogoffTime(DateUtils.formatDateTime(new Date()));
        loginRepository.updateLastLogoff(userInfo);
        loginHistoryRepository.logoff(userInfo.getLastLogoffTime(), sessionIdAttribute.toString());
        _logger.debug("session {} Destroyed as {} userId : {} , username : {}", sessionIdAttribute, userInfo.getLastLogoffTime(), userInfo.getId(), userInfo.getUsername());
    }
}
Also used : HttpSession(javax.servlet.http.HttpSession) UserInfo(org.maxkey.entity.UserInfo) Date(java.util.Date)

Example 4 with UserInfo

use of org.maxkey.entity.UserInfo in project MaxKey by dromara.

the class LoginRepository method find.

public UserInfo find(String username, String password) {
    List<UserInfo> listUserInfo = null;
    if (LOGIN_ATTRIBUTE_TYPE == 1) {
        listUserInfo = findByUsername(username, password);
    } else if (LOGIN_ATTRIBUTE_TYPE == 2) {
        listUserInfo = findByUsernameOrMobile(username, password);
    } else if (LOGIN_ATTRIBUTE_TYPE == 3) {
        listUserInfo = findByUsernameOrMobileOrEmail(username, password);
    }
    UserInfo userInfo = null;
    if (listUserInfo != null && listUserInfo.size() > 0) {
        userInfo = listUserInfo.get(0);
    }
    _logger.debug("load UserInfo : " + userInfo);
    return userInfo;
}
Also used : UserInfo(org.maxkey.entity.UserInfo)

Example 5 with UserInfo

use of org.maxkey.entity.UserInfo in project MaxKey by dromara.

the class AppListController method appUserConfig.

@ResponseBody
@RequestMapping(value = { "/appUserConfig" })
public Message appUserConfig(@RequestParam("protocol") String protocol, @RequestParam("credential") int credential, @RequestParam("appId") String appId, @RequestParam("identity_username") String identity_username, @RequestParam("identity_password") String identity_password) {
    Apps app = appsService.get(appId);
    UserInfo userInfo = WebContext.getUserInfo();
    Accounts appUsers = new Accounts();
    appUsers.setAppId(appId);
    appUsers.setUserId(userInfo.getId());
    if (identity_password != null && !identity_password.equals("") && credential == Apps.CREDENTIALS.USER_DEFINED) {
        appUsers = appUsersService.load(new Accounts(userInfo.getId(), appId));
        if (appUsers == null) {
            appUsers = new Accounts();
            appUsers.setId(appUsers.generateId());
            appUsers.setAppId(appId);
            appUsers.setAppName(app.getName());
            appUsers.setUserId(userInfo.getId());
            appUsers.setUsername(userInfo.getUsername());
            appUsers.setDisplayName(userInfo.getDisplayName());
            appUsers.setRelatedUsername(identity_username);
            appUsers.setRelatedPassword(PasswordReciprocal.getInstance().encode(identity_password));
            appUsers.setInstId(userInfo.getInstId());
            appUsers.setStatus(ConstsStatus.ACTIVE);
            appUsersService.insert(appUsers);
        } else {
            appUsers.setRelatedUsername(identity_username);
            appUsers.setRelatedPassword(PasswordReciprocal.getInstance().encode(identity_password));
            appUsersService.update(appUsers);
        }
    }
    return new Message(WebContext.getI18nValue(ConstsOperateMessage.UPDATE_SUCCESS), MessageType.success);
}
Also used : ConstsOperateMessage(org.maxkey.constants.ConstsOperateMessage) Message(org.maxkey.web.message.Message) UserInfo(org.maxkey.entity.UserInfo) UserApps(org.maxkey.entity.apps.UserApps) Apps(org.maxkey.entity.apps.Apps) Accounts(org.maxkey.entity.Accounts) ResponseBody(org.springframework.web.bind.annotation.ResponseBody) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

UserInfo (org.maxkey.entity.UserInfo)85 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)42 ModelAndView (org.springframework.web.servlet.ModelAndView)17 ResponseBody (org.springframework.web.bind.annotation.ResponseBody)15 Message (org.maxkey.web.message.Message)8 Date (java.util.Date)7 HashMap (java.util.HashMap)7 Operation (io.swagger.v3.oas.annotations.Operation)6 ConstsOperateMessage (org.maxkey.constants.ConstsOperateMessage)6 Accounts (org.maxkey.entity.Accounts)6 BadCredentialsException (org.springframework.security.authentication.BadCredentialsException)6 SigninPrincipal (org.maxkey.authn.SigninPrincipal)5 InvocationTargetException (java.lang.reflect.InvocationTargetException)4 ServiceResponseBuilder (org.maxkey.authz.cas.endpoint.response.ServiceResponseBuilder)4 AbstractAuthorizeAdapter (org.maxkey.authz.endpoint.adapter.AbstractAuthorizeAdapter)4 SynchroRelated (org.maxkey.entity.SynchroRelated)4 NamingException (javax.naming.NamingException)3 ProxyServiceResponseBuilder (org.maxkey.authz.cas.endpoint.response.ProxyServiceResponseBuilder)3 Ticket (org.maxkey.authz.cas.endpoint.ticket.Ticket)3 Apps (org.maxkey.entity.apps.Apps)3