ASP.net C# web应用程序不断提示凭证。

问题描述 投票:0回答:1

我有一个在Visual Studio中创建的web应用程序。它使用在IIS中的应用程序webpool上配置的服务帐户执行一些powershell的东西。所有这些工作都很好,我能够给一个我想访问网站的本地组赋予权限。

我遇到的问题是,似乎每次页面加载时(点击按钮执行某些操作),它都会再次提示输入证书。凭证又能用了,但我不知道为什么它一直在提示。我猜测是和页面状态有关。

下面的一些代码可能并不适用于眼前的问题,也不确定是否与这个问题有关... 我怀疑是IIS里的东西。如果有人能举个例子说明如何配置,那将会很有帮助。

在IIS中... 我将 "授权规则 "设置为我要访问的组,并且 "认证 "只对Digest认证启用。

如果你需要查看其他部分的代码,请告诉我。

干杯!

   protected void Page_Load(object sender, EventArgs e)
    {
        if (System.Web.HttpContext.Current.User.Identity.IsAuthenticated)
        {
            username = System.Web.HttpContext.Current.User.Identity.Name;
            //Not needed cause we use the username for every line written to the log. and because this launches on Pageload to put a lot of extra logged in lines
            // Write_logfile("User logged in as: " + username); 

            if (DebuggingEnabled == true)
            { Result.Text = Result.Text + "\n" + "Logged in user: " + username; }              

        }

        if (DebuggingEnabled != true)
        {
            if (DelegateInfoBox.Text.Contains("User Aor:"))
            {
                EnableStuffforUse(true, true);
            }
            else
            {
                EnableStuffforUse(false, true);
            }
        }

        //CHeck if the module is loaded already or not..
        System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.PowerShell.Commands.ModuleSpecification> issModules = iss.Modules;

        var builder = new StringBuilder();
        foreach (var result in issModules)
        {
            builder.Append("\n" + result.Name);
        }

        if (builder.ToString().Contains("Lync.psd1"))
        {
            // Result.Text = Result.Text + "\n" + "---- PS Modules Loaded----" + builder.ToString();
        }
        else
        {
            //----These two lines below show how you would import a Module from Path----
            iss.ImportPSModulesFromPath("C:\\Program Files\\Common Files\\Microsoft Lync Server 2013\\Modules\\Lync");
            //Result.Text = Result.Text + "\n" + "--- PS Modules Loaded----" + builder.ToString();
        }

        // if (DebuggingEnabled != true) { ListBox1.Items.Clear(); };
    }
asp.net powershell authentication iis hash
1个回答
0
投票

你应该检查 本条.

© www.soinside.com 2019 - 2024. All rights reserved.