首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpContext.Current.User.IsInRole提高了HttpUnhandledException。为什么?

HttpContext.Current.User.IsInRole提高了HttpUnhandledException。为什么?
EN

Stack Overflow用户
提问于 2011-11-16 13:41:19
回答 2查看 1.2K关注 0票数 1

当我在我的本地主机上工作时,它工作得完美无缺。

但是,当我将应用程序部署到另一台服务器时,它开始引发异常。

基本上,这是导致异常的指令:

代码语言:javascript
复制
HttpContext.Current.User.IsInRole(*roleName*)

其中roleName是一个字符串,表示应用程序中的不同角色。

触发的异常:

代码语言:javascript
复制
System.Web.HttpUnhandledException

更新:这是如何对用户进行身份验证的。

代码语言:javascript
复制
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 (在那里会引发此错误)。

我还能错过什么?再次感谢,

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-25 10:53:01

该问题的解决方案是通过通过mysql_aspnet_membership授予完全信任并自动生成模式来创建machine.config提供程序,而不是手动在数据库中创建成员关系表,我认为这是创建数据库的有效方法。

后来,这件事再也没有破裂了。

票数 0
EN

Stack Overflow用户

发布于 2011-11-16 13:46:10

在黑暗中疯狂插入,但是内部异常可能是一个空引用异常,这是由于用户没有在服务器上进行身份验证而导致的,所以HttpContext.Current.User是空的。我敢打赌,windows集成身份验证在活动web服务器上没有启用,也没有类似的身份验证设置问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8152596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档