小编tro*_*tro的帖子

有没有办法用Jasmine来验证间谍执行的顺序?

我有两个与Jasmine建立间谍的对象:

spyOn(obj, 'spy1');
spyOn(obj, 'spy2');
Run Code Online (Sandbox Code Playgroud)

我需要在调用spy1之前验证来电spy2.我可以检查它们是否都被调用:

expect(obj.spy1).toHaveBeenCalled();
expect(obj.spy2).toHaveBeenCalled();
Run Code Online (Sandbox Code Playgroud)

但即使obj.spy2()先被召唤,这也会过去.有没有一种简单的方法来验证一个人在另一个之前被调用?

javascript jasmine

14
推荐指数
2
解决办法
3543
查看次数

IIS 6忽略Web.config授权设置

语境:

  • Windows 2003 Server上的IIS 6
  • ASP.NET 3.5 sp1
  • 从虚拟目录运行的C#Web应用程序

我想不要提供一些文件.例如,hibernate.cfg.xml根目录中有一个不应该可访问的.日志目录中还有日志文件.在本地开发服务器上(Visual Studio 2008)可以通过Web.config以两种方式保护NHibernate配置文件:

<location path="hibernate.cfg.xml">
    <system.web>
      <authorization>
        <deny users="?"/>
        <deny users="*"/>
      </authorization>
    </system.web>
</location>
Run Code Online (Sandbox Code Playgroud)

要么

<httpHandlers>
...
    <add path="*.cfg.xml" verb="*" type="System.Web.HttpForbiddenHandler" />
</httpHandlers>
Run Code Online (Sandbox Code Playgroud)

可以通过另一个Web.config文件保护不同目录中的日志:

<?xml version="1.0"?>
<configuration>
  <system.web>
    <authorization>
      <deny users="*"/>
    </authorization>
  </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

当使用aspnet_compiler.exe编译应用程序并将其部署到IIS 6服务器时,这些都不起作用.日志中没有错误.任何人都可以读取这些文件.使用MSBuild编译和安装应用程序,如下所示:

<AspNetCompiler Force="true" Debug="true" PhysicalPath="$(DeploymentTempPath)\$(DeploymentAppName)" TargetPath="$(DeploymentPath)\$(DeploymentAppName)" VirtualPath="/$(DeploymentAppName)" />
Run Code Online (Sandbox Code Playgroud)

如何使IIS 6尊重Web.config中的授权规则.

注意:假设我无法将这些文件移到部署目录之外.

asp.net security iis iis-6

2
推荐指数
1
解决办法
6591
查看次数

标签 统计

asp.net ×1

iis ×1

iis-6 ×1

jasmine ×1

javascript ×1

security ×1