小编Kev*_*Kev的帖子

IE/IIS集成了身份验证问题

在IIS我有:

http://myserver/myapplication
http://myserver/reports

报告应用程序实际上是使用Windows身份验证的报告服务.myapplication是一个使用表单身份验证的asp.net应用程序.

服务器位于公司域之外.如果我首先访问报告并在提示时键入用户和密码(在服务器上创建的本地凭据),我可以访问报告页面,没有问题.如果那时我直接进入我的应用程序的登录页面并尝试登录,登录页面刷新而不做任何事情.这总是发生在IE 6中.在IE 7中,它会间歇性地发生.在Firefox中不会发生,或者Fiddler在后台运行,这似乎可以解决问题.

我使用wireshark查看发生了什么,发现IE 6将从报告应用程序获取的Windows身份验证令牌发送到myapp.这是IE和Firefox之间的唯一区别.IIS似乎吓坏了,只是将我的POST解释为登录页面作为GET并返回.

如果我在IIS中为myapplication添加Windows身份验证,那么任何浏览器似乎都能正常工作.

为什么会这样?IE中的错误或我错过了什么?

iis internet-explorer forms-authentication windows-authentication

5
推荐指数
1
解决办法
2952
查看次数

IIS7 中的 ApplicationPoolIdentity 401 错误

我们刚刚开始使用 Windows Server 2008 R2 和 IIS7.5,我正在尝试将一些现有站点从 Windows 2003 环境中移出。我可以让网站正常运行,但网站中的所有 CSS/图像均出现 401 错误。授予每个人读取权限将解决这个问题 - 但我不太高兴这样做。

我读到,IIS7.5 使用了一个神奇的新“帐户”,每个应用程序池都有自己的帐户。

到目前为止我已经

  • 在 wwwroot 中为我的网站 (kbank) 创建了一个新文件夹
  • 从另一台机器复制文件
  • 在IIS7中创建了一个新网站(不是虚拟目录),这创建了一个与我的网站同名的新应用程序池。这是一个综合管道池
  • 在流程模型/身份中,这是使用 ApplicationPoolIdentity 并将“加载用户配置文件”设置为 True
  • 授予 IIS AppPool\kbank 对文件夹根目录的读取权限

谁能告诉我如何最好地设置我的网站。

iis-7 iis-7.5 http-status-code-401

5
推荐指数
1
解决办法
1万
查看次数

如何在SQL Server 2005中更改默认的TRANSACTION ISOLATION LEVEL?

我知道SQL Server中的默认TRANSACTION ISOLATION LEVEL是"read committed".如果我想将其更改为"READ UNCOMMITTED",我该如何更改此配置?

注意:我不能使用SET TRANSACTION ISOLATION LEVEL,它仅适用于当前会话.我无法在查询中添加NOLOCK,因为涉及数千个查询.

谢谢


感谢您的回答.我们可以阅读脏行.在我们的案例中,更新也不是问题.但是,我真的想要更改隔离级别的默认配置.请帮忙.

我不能"设置交易隔离级别无法阅读".我必须做出全球变化.


我们仔细审查了快照隔离级别.它们不能用于我们的情况.

sql-server isolation-level

5
推荐指数
0
解决办法
2万
查看次数

为什么我的网站尝试加载32位aspnet_filter.dll,即使'enable32BitAppOnWin64'设置为False?

我正在Windows XP和Visual Studio 2008上开发一个ASP.NET MVC Web应用程序(使用Visual Studio Web服务器).我最近安装了Windows 7 64位Ultimate版本,IIS 7.5并使用迁移了我的应用程序appcmd.

如果我enable32BitAppOnWin64 == false在我的应用程序池上设置标志,我的应用程序工作正常.一旦我将其设置为true(因为我希望它以64位运行),它会抛出此异常:

屏幕截图错误

HTTP Error 500.0 - Internal Server Error
Calling LoadLibraryEx on ISAPI filter "C:\Windows\Microsoft.NET\Framework\v2.0.50727\\aspnet_filter.dll" failed
Run Code Online (Sandbox Code Playgroud)

如果我去删除所有ISAPI过滤器但是离开ASP.Net_2.0.50727-64则此错误消失.

我该如何解决这个问题?

iis-7.5 windows-7-x64

5
推荐指数
1
解决办法
5658
查看次数

如何将会话超时设置超过20分钟.

我的项目有问题.我的网站上有一个管理面板.人们可以使用用户名和密码登录,可以编辑网站内容.有时,用户最多可能需要30-40分钟才能输入内容,但会话超时仅在20分钟后过期.

我试图在其中配置web.config,例如:

<authentication mode="Windows"/>
<sessionState timeout="60" />
Run Code Online (Sandbox Code Playgroud)

和这样:

<system.web>
    <sessionState timeout="60"></sessionState>
</system.web>
Run Code Online (Sandbox Code Playgroud)

并且还以我的形式尝试过:

if (ds.Tables["LOG"].Rows.Count > 0)           
{
    Session["IsLoggedIn"] = "true";        
    Session.Timeout = 60;            
    Response.Redirect("Default.aspx");       
}        
else       
{                
    Label1.Text = "Username/Password is wrong!!";    
}
Run Code Online (Sandbox Code Playgroud)

以上解决方案均无效.我分别和一起尝试了每个,但会议在20分钟后仍然过期.

asp.net iis session-state

5
推荐指数
2
解决办法
4万
查看次数

ASP.NET 2.0和4.0似乎在Forms身份验证中以不同方式处理根URL

如果有以下内容web.config:

<configuration>
  <system.web>
    <authentication mode="Forms">
      <forms name="MembershipCookie" 
             loginUrl="Login.aspx" 
             protection="All" 
             timeout="525600" 
             slidingExpiration="true" 
             enableCrossAppRedirects="true" 
             path="/" />
    </authentication>
    <authorization>
      <deny users="?"  />
    </authorization>
  </system.web>
  <location path="Default.aspx">
    <system.web>
      <authorization>
        <allow users="*"/>
      </authorization>
    </system.web>
  </location>
</configuration>
Run Code Online (Sandbox Code Playgroud)

该应用程序是在Windows 2008R2/IIS7.5上运行的ASP.NET 2.0应用程序.

如果站点的应用程序池配置为运行ASP.NET 2.0并且我浏览到,http://example.comDefault.aspx按照您对上述规则的期望进行渲染.

但是,如果应用程序池设置为运行ASP.NET 4.0,则会将其重定向到登录页面.如果我明确指定http://example.com/default.aspx那么一切都很好并default.aspx呈现.

我尝试过重写/ -> /default.aspx(使用IIS UrlRewriter 2.0)但结果仍然相同,我被踢到了登录页面.

我也尝试使用具有相同结果的ASP.NET 4.0应用程序(这是问题最初出现的地方).我有一个2.0应用程序尝试这样做的原因是为了看看是否有行为上的变化,似乎/ 在4.0的处理方式不同.

总而言之,使用上面的配置可以观察到以下情况:

ASP.NET Version  Url                                 Behaviour
-------------------------------------------------------------------------
2.0              http://example.com                  Renders Default.aspx
2.0              http://example.com/Default.aspx     Renders Default.aspx
4.0              http://example.com                  Redirects to Login.aspx
4.0 …

asp.net forms-authentication asp.net-4.0

5
推荐指数
1
解决办法
3275
查看次数

字典<StudentType,List <Student >>到IDictionary <StudentType,IList <Student >>?

请考虑以下代码:

class Student
{
}

enum StudentType
{
}

static void foo(IDictionary<StudentType, IList<Student>> students)
{   
}

static void Main(string[] args)
{
    Dictionary<StudentType, List<Student>> studentDict = 
                     new Dictionary<StudentType, List<Student>>();

    foo(studentDict);

    ...
}
Run Code Online (Sandbox Code Playgroud)

有错误:

错误CS1503:参数'1':无法从'System.Collections.Generic.Dictionary>'转换为'System.Collections.Generic.IDictionary>'

有没有办法调用foo函数?

c# dictionary ilist list idictionary

5
推荐指数
1
解决办法
1998
查看次数

removeAttribute() 不适用于 DOM

为什么不removeAttribute()删除以下代码中的任何内容:

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>test</title>
</head>
<body>
    <div id="myDiv">
        Element with style.
    </div>
    <br />
    <br />
    <button onclick="DelStyle()">
        Remove the style attribute from the element
    </button>
    <script type="text/javascript">
        function DelStyle() {
            var div = document.getElementById("myDiv");
            console.log(div)
            div.style.border = 'solid #3B3B3D 1px';
            console.log(div)
            div.removeAttribute("style");
            console.log(div)
        }
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript dom

5
推荐指数
1
解决办法
3万
查看次数

获取在 Windows Script Host 中运行的 JScript 错误的行号

说,我有以下代码,我使用 Windows Script Host 作为 .JS 文件运行:

try
{
    ProduceAnError();
}
catch(e)
{
    //How to get an error line here?
}
Run Code Online (Sandbox Code Playgroud)

有没有办法知道发生错误(异常)的错误行?

wsh jscript

5
推荐指数
1
解决办法
1635
查看次数

Access数据库已由其他用户独占打开

我有一个位于服务器x上的访问数据库,iis正在服务器y上运行.我的一个网页访问来自访问数据库的数据.如果某人打开了访问数据库,请说明我们网络上的最终用户网页失败,并且......已经由另一个用户错误消息专门打开了.

我创建了一个本地访问数据库并使用链接表以便以这种方式访问​​表.即使我仍然由另一个用户错误专门打开.如果我通过Windows资源管理器并浏览到服务器x并打开数据库,我可以毫无问题.所以我的问题是如何模拟与数据库相同类型的连接,而不会抛出错误,这是访问数据库的权限还是我的connectionstring中允许我访问数据库的内容.

因为它在我的connection.open命令期间抛出错误我认为它是权限相关或我需要添加到我的连接字符串的其他东西.我已授予对我的本地访问数据库实例所在的本地目录中的IIS AppPool \的完全控制权,但似乎没有什么区别.

我的连接字符串如下所示:

Private Shared connSheriff As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverx\directory\Access\MyDatabase.mdb;Jet OLEDB:Database Password=property;")
Run Code Online (Sandbox Code Playgroud)

ms-access iis-7.5

5
推荐指数
1
解决办法
7239
查看次数