在MVC中发布到服务器后,如何阻止弹出窗口提示输入凭据?

时间:2019-06-17 14:54:15

标签: asp.net asp.net-mvc iis

我有一个在MVC中完成的项目,在该项目中,在某些显示数据库表的视图上,用户将可以单击给定行中的按钮来编辑该数据。单击该按钮时,将出现一个弹出窗口,用户可以编辑该弹出窗口。有趣的是,在本地运行时,我没有任何问题。

但是,一旦将其发布到Web服务器,问题就开始了。在对网站进行身份验证之后,预期结果是不会再次提示我输入我的凭据。如果我只是浏览不同的视图,那么这个结果成立。但是,一旦我单击该按钮弹出一个窗口,就会看到无限循环的请求凭据的提示。即使我输入了凭据,它也会再次询问而没有任何错误。

在登录网站后,即使我已经通过了凭据,也根本不会要求我提供凭据。为什么会这样?

我尝试使用项目设置和IIS上的设置,但无济于事。目前,对于项目,我具有以下设置:

  • 匿名身份验证:已启用托管
  • 管道模式:集成
  • 已启用SSL:False
  • Windows身份验证:已启用

在IIS上,我配置了以下设置:

  • .Net授权规则:允许所有用户继承
  • 身份验证:Annoymous和Windows均已启用
  • 授权规则:允许所有用户
  • SSL设置:接受客户端证书

对于弹出式窗口本身,我只是使用模态对话框,如下所示:

查看

Index.cshtml

<table>
@foreach (var item in Model)
    <tr>
            <td>
                <button class="btn btn-primary" onclick="ActionAway(@item.AID)">Action Event</button>
            </td>
    </tr>
    }
        </tbody>
</table>

<div class="modal fade" id="myModal1">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <a href="#" class="close" data-dismiss="modal">&times;</a>
                <h3 class="modal-title">Action This Event</h3>
            </div>
            <div class="modal-body" id="myModalBodyDiv1">

            </div>
        </div>
    </div>
</div>
</div>

<script>
    var ActionAway = function (theid) {
        var url = "/Database/Edit?id=" + theid;

        $('#myModalBodyDiv1').load(url, function () {
            $('#myModal1').modal("show");
        })
    }

</script>

我相信这与服务器上IIS的设置有关,因为它对我来说在本地正常工作。我可能遗漏什么导致此问题?我非常感谢可以为此提供的任何建议!

1 个答案:

答案 0 :(得分:0)

经过大量的故障排除后,我找到了解决方案。问题在我的部分。具体来说,这一行:

import fileA

for i in range(8, 10):
    fileA.minimize(i)

这在本地工作得很好,但是一旦将其发布到服务器上,就不得不将其更改为以下内容:

var url = "/Database/Edit?id=" + theid;

我敢肯定有一种更简单的方法可以做到这一点,但这是我目前找到的解决方案。谢谢大家的帮助!