/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.um.sso; import com.jinhe.tss.core.Global; import com.jinhe.tss.core.sso.IOperator; import com.jinhe.tss.core.sso.IdentityTranslator; import com.jinhe.tss.core.sso.context.Context; import com.jinhe.tss.um.service.ILoginService; /** * <p> * UMS用户身份转换器:根据UMS系统维护的多应用用户映射关系,进行不同应用间用户身份信息转换 * </p> */ public class UMSIdentityTranslator implements IdentityTranslator { ILoginService service = (ILoginService) Global.getContext().getBean("LoginService"); public IOperator translate(Long standardUserId) { String userDepositoryCode = Context.getApplicationContext().getUserDepositoryCode(); return getOperator(standardUserId, userDepositoryCode); } public IOperator translate(Long standardUserId, String targetAppCode) { String userDepositoryCode = Context.getApplicationContext().getUserDepositoryCodeByAppCode(targetAppCode); return getOperator(standardUserId, userDepositoryCode); } /** * <p> * 根据标准用户Id及用户库Code获取用户信息 * </p> * @param standardUserId * 标准用户Id * @param userDepositoryCode * 用户库Code * @return */ private IOperator getOperator(Long standardUserId, String userDepositoryCode) { return service.translateUser(standardUserId, userDepositoryCode); } public void savePassword(Long userId, String password) { service.savePassword(userId, password); } }