首页 新闻 会员 周边 捐助

求助 MSCRM 4.0,IFD验证下,自定义aspx页面,如何获取当前的用户ID ?

0
悬赏园豆:5 [待解决问题]

大家好  MSCRM 4.0,IFD验证下,自定义aspx页面,获取不到当前的用户ID,出现报错信息:请求因 HTTP 状态 401 失败: Unauthorized。

麻烦大家帮我看看,谢谢。

主要代码如下:

#region MyRegion
/// <summary>
/// 创建CrmService
/// </summary>
/// <returns></returns>
protected CrmService createCrmService()
{
try
{
CrmService crmService = new CrmService();//实例化CrmService
return crmService;//返回
}
catch (Exception ex)
{
throw ex;
}
}
#endregion

#region 初始化WebService
public void InitializeCrmService()
{
try
{
using (new CrmImpersonator())
{
CrmService crm = createCrmService();
CrmAuthenticationToken token = new CrmAuthenticationToken();//实例化CrmAuthenticationToken
token.AuthenticationType = 0;//改成2也不行
token.OrganizationName = CRMOrganizationName;//获取组织
crm.Url = string.Format("http://{0}:{1}/MSCRMServices/2007/CrmService.asmx", CRMServerHost, CRMServerPort);
crm.Credentials = System.Net.CredentialCache.DefaultCredentials;
crm.CrmAuthenticationTokenValue = token;
}
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
#endregion

#region 获取当前登录用户的信息
/// <summary>
/// 获取当前登录用户的信息
/// </summary>
/// <returns></returns>
public Guid GetSystemUser1()
{
try
{
using (new CrmImpersonator())
{
CrmService crm = createCrmService();//Create the Service
WhoAmIRequest request = new WhoAmIRequest();
WhoAmIResponse response = (WhoAmIResponse)crm.Execute(request);
return response.UserId;//返回用户ID
}
}
catch (Exception ex)
{
WriteLog("ex:"+ex.Message); //这里会输出错误信息:请求因 HTTP 状态 401 失败: Unauthorized。
throw ex;
}
}
#endregion

我想在aspx页面,Page_Load 里面调用GetSystemUser1() 方法,获取到当前的用户ID。

Hamilton Tan的主页 Hamilton Tan | 初学一级 | 园豆:167
提问于:2012-11-27 16:54
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册