コード例 #1
0
 public static UserGroupInformation GetUgi(IpcConnectionContextProtos.IpcConnectionContextProto
                                           context)
 {
     if (context.HasUserInfo())
     {
         IpcConnectionContextProtos.UserInformationProto userInfo = context.GetUserInfo();
         return(GetUgi(userInfo));
     }
     else
     {
         return(null);
     }
 }
コード例 #2
0
        public static UserGroupInformation GetUgi(IpcConnectionContextProtos.UserInformationProto
                                                  userInfo)
        {
            UserGroupInformation ugi = null;
            string effectiveUser     = userInfo.HasEffectiveUser() ? userInfo.GetEffectiveUser() :
                                       null;
            string realUser = userInfo.HasRealUser() ? userInfo.GetRealUser() : null;

            if (effectiveUser != null)
            {
                if (realUser != null)
                {
                    UserGroupInformation realUserUgi = UserGroupInformation.CreateRemoteUser(realUser
                                                                                             );
                    ugi = UserGroupInformation.CreateProxyUser(effectiveUser, realUserUgi);
                }
                else
                {
                    ugi = UserGroupInformation.CreateRemoteUser(effectiveUser);
                }
            }
            return(ugi);
        }