当我在我的本地主机上工作时,它工作得完美无缺。
但是,当我将应用程序部署到另一台服务器时,它开始引发异常。
基本上,这是导致异常的指令:
HttpContext.Current.User.IsInRole(*roleName*)其中roleName是一个字符串,表示应用程序中的不同角色。
触发的异常:
System.Web.HttpUnhandledException更新:这是如何对用户进行身份验证的。
protected void LoginControl_Authenticate(object sender, AuthenticateEventArgs e)
{
Page.Validate();
if (!Page.IsValid) return;
if (MyAuthenticate(LoginControl.UserName, LoginControl.Password))
{
if (LoginControl.RememberMeSet == true)
{
createCookie(LoginControl.UserName, Convert.ToInt32(ViewState["idcustomer"]), true);
}
else
{
createCookie(LoginControl.UserName, Convert.ToInt32(ViewState["idcustomer"]), false);
}
e.Authenticated = true;
Response.Redirect(FormsAuthentication.GetRedirectUrl(LoginControl.UserName, true));
}
else
{
e.Authenticated = false;
}如果它与用户身份验证有关,那么我遗漏了什么?提前谢谢。
更新:感谢所有的人。我刚刚做了一个远程调试,并意识到这是实际错误:

现在,情况就是这样:在登录页面中对用户进行了身份验证。因此,我认为与DB的连接没有问题。否则,用户将无法将登录页面传递给MasterPage (在那里会引发此错误)。
我还能错过什么?再次感谢,
发布于 2012-01-25 10:53:01
该问题的解决方案是通过通过mysql_aspnet_membership授予完全信任并自动生成模式来创建machine.config提供程序,而不是手动在数据库中创建成员关系表,我认为这是创建数据库的有效方法。
后来,这件事再也没有破裂了。
发布于 2011-11-16 13:46:10
在黑暗中疯狂插入,但是内部异常可能是一个空引用异常,这是由于用户没有在服务器上进行身份验证而导致的,所以HttpContext.Current.User是空的。我敢打赌,windows集成身份验证在活动web服务器上没有启用,也没有类似的身份验证设置问题。
https://stackoverflow.com/questions/8152596
复制相似问题