小编exp*_*nit的帖子

为什么我的ClaimsIdentity IsAuthenticated始终为false(对于web api授权过滤器)?

在Web API项目中,我重写了正常的身份验证过程来检查令牌.代码看起来像这样:

if ( true ) // validate the token or whatever here
{
    var claims = new List<Claim>();
    claims.Add( new Claim( ClaimTypes.Name, "MyUser" ) );
    claims.Add( new Claim( ClaimTypes.NameIdentifier, "MyUserID" ) );
    claims.Add( new Claim( ClaimTypes.Role, "MyRole" ) );

    var claimsIdentity = new ClaimsIdentity( claims );

    var principal = new ClaimsPrincipal( new[] { claimsIdentity } );
    Thread.CurrentPrincipal = principal;
    HttpContext.Current.User = principal;
}
Run Code Online (Sandbox Code Playgroud)

然后,当我将[Authorize]属性应用于控制器时,它无法授权.

调试代码确认相同的行为:

// ALWAYS FALSE!
if ( HttpContext.Current.User.Identity.IsAuthenticated ) {
    // do something
} …
Run Code Online (Sandbox Code Playgroud)

c# asp.net claims-based-identity asp.net-4.5 asp.net-web-api

65
推荐指数
2
解决办法
3万
查看次数

与grunt和flatiron peer的npm peerDependency问题

在发布这个问题时,我想出了答案,但我会在这里发布以防万一它可以帮助其他人,也许有人可以帮助解决发生的事情的原因.

当我跑:

sudo npm install -g grunt
Run Code Online (Sandbox Code Playgroud)

最后一部分说:

/usr/bin/grunt -> /usr/lib/node_modules/grunt/bin/grunt
npm ERR! peerinvalid The package flatiron does not satisfy its siblings' peerDependencies requirements!
npm ERR! peerinvalid Peer flatiron-cli-config@0.1.3 wants flatiron@~0.1.9
npm ERR! peerinvalid Peer flatiron-cli-users@0.1.1 wants flatiron@~0.1.9

npm ERR! System Linux 3.5.0-23-generic
npm ERR! command "nodejs" "/usr/bin/npm" "install" "-g" "grunt"
npm ERR! cwd /home/explunit
npm ERR! node -v v0.8.19
npm ERR! npm -v 1.2.9
npm ERR! code EPEERINVALID
npm ERR! 
npm ERR! Additional logging details can be …
Run Code Online (Sandbox Code Playgroud)

node.js npm nodejitsu gruntjs

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

require.config和requirejs.config之间有什么区别

我正在尝试设置requirejs,然后使用r.js对其进行优化,但后来我对这些方法感到困惑.我之前使用过require.config(),但之后我看到他们也有requirejs.config(),我不知道有什么区别.示例代码:

require.config({
    baseUrl: 'js/lib',
    paths: {
        app: '../app'
    }
});

requirejs.config({
    baseUrl: 'js/lib',
    paths: {
        app: '../app'
    }
});
Run Code Online (Sandbox Code Playgroud)

他们都做同样的事情.当我优化它时,结果完全相同.我想知道有什么区别?我什么时候应该使用或其他?

javascript requirejs

27
推荐指数
1
解决办法
5255
查看次数

将Grunt放在子目录中

是否可以将Grunt配置文件放在项目的子目录中?我想这样做是为了让事情更有条理.

例如

  • 的myproject /咕噜/ Gruntfile.js

  • 的myproject /咕噜/的package.json

  • 的myproject /咕噜/ node_modules /

我在使用此配置下从Gruntfile.js运行命令时遇到问题.Grunt可以处理查找父目录吗?或许我做错了

sass: {
    dev: {
       files: {
           "../style.css": "../scss/style.scss"
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

当我跑这个Grunt似乎只是耸耸肩,不明白我希望它在父目录中查看...

Source file "scss/style.scss" not found.
Run Code Online (Sandbox Code Playgroud)

javascript gruntjs

20
推荐指数
1
解决办法
6802
查看次数

我可以在单页面应用程序中使用浏览器Navigation Timing API进行Ajax事件吗?如果没有,什么是好工具?

我们有一个使用Knockout和Backbone构建的单页面应用程序,它使Ajax调用服务器并执行一些复杂的数据缓存和DOM渲染.我们非常想测量用户看到的性能(并将其记录回服务器).我似乎无法理解浏览器Navigation Timing API是否会对此有用.从我在示例中看到的,导航时序API与之相关,window.performance并且这仅限于页面加载,不适合监视Ajax行为.对或错?如果不对,我还能使用什么?

我喜欢设置自定义检测点,在这些点之间测量时间,例如,对于使用服务器结果进行DOM渲染的Ajax调用.

javascript ajax profiling single-page-application navigation-timing-api

15
推荐指数
3
解决办法
8655
查看次数

Backbone和RequireJS有效加载

我在互联网上看了很多例子如何用requireJS开始开发BB应用程序,但我有点迷失.

我认为AMD的目标是只在真正需要时加载文件.不久

为什么我只看到开发人员将几乎所有文件作为依赖项放在他/她的主文件开头的示例?

这是一个例子:https: //github.com/jcreamer898/RequireJS-Backbone-Starter/tree/master/js

这个应用程序立即加载main.js,这取决于app.js加载router/home.js,这需要view/view.js加载视图的模板和models/model.js ......和结束.

我无法看到如何扩展此应用程序,例如更多视图,其中视图的依赖项(其模型,模板,集合,第三方API等)仅在路由器调用和初始化时加载.换句话说,在初始化应用程序时加载所有文件时使用AMD是无稽之谈.

类似的例子:http: //backbonetutorials.com/organizing-backbone-using-modules/请参阅router.js文件.实际上它加载'views/projects/list'和'views/users/list'依赖关系,而路由器没有知道用户将来是否需要它们.

请提前,谢谢!

javascript amd requirejs backbone.js js-amd

8
推荐指数
1
解决办法
1439
查看次数

访问RequireJS路径配置

我在文档中注意到有一种方法可以将自定义配置传递到模块中:

requirejs.config({
    baseUrl: './js',
    paths: {
        jquery: 'libs/jquery-1.9.1',
        jqueryui: 'libs/jquery-ui-1.9.2'
    },
    config: {
        'baz': {
            color: 'blue'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

然后您可以从模块访问:

define(['module'], function (module) {        
    var color = module.config().color; // 'blue'
});
Run Code Online (Sandbox Code Playgroud)

但是还有一种方法可以访问顶级路径配置,就像这样吗?

define(['module', 'require'], function (module, require) {        
    console.log( module.paths() ); // no method paths()
    console.log( require.paths() ); // no method paths()
});
Run Code Online (Sandbox Code Playgroud)

仅供参考,这不适用于生产现场.我正在尝试在QUnit测试页面中连接一些奇怪的调试/配置代码.我想枚举哪些模块名称定义了自定义路径.这个问题触及了这个问题,但只让我查询已知的模块,而不是枚举它们.

javascript qunit requirejs

8
推荐指数
2
解决办法
4850
查看次数

d3.on("mouseover")事件不适用于嵌套的SVG元素

我有一组嵌套的元素(SVG).根元素是图形,子元素是图形中的元素(线,轴等).简化示例:

<g transform="translate(80,10)" id="mainGraph">
    <g class="Line">
        <path d="....."></path>
    </g>
</g>
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果我将mouseover/mousemove事件(例如D3.on("mouseover")绑定到mainGraph元素,它只会在我将鼠标移动到其中一个子元素上时触发.

我读到的其中一件事是后续元素的优先级,所以我将.style("指针事件","无")添加到所有子元素,但这不起作用.

javascript mouse events svg d3.js

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

在 ASP.Net Webforms 中防止 XSS:为什么验证请求还不够?

我正在寻找保护我们的网站免受 XSS 攻击的方法。在这一点上,我只关心消毒/保护输入。我知道需要对输出进行编码,但这超出了这个问题的范围。

需要牢记以下几点:

  • 我的网站根本不接受用户生成的 HTML。
  • 我已将验证请求设置为 true。

我知道 Microsoft建议不要只依赖 Validate Request。但是,我想知道为什么。开始输入消毒项目将涉及大量的时间和金钱,我需要向业务证明这些。

我一直在研究如何攻击验证请求保护的实际示例。我想出的就是这个。但是,我一直无法在我的网站上重现它。

security xss webforms

7
推荐指数
1
解决办法
9580
查看次数

执行沙盒Java代码的最佳方法是什么?

我正在尝试重现用于执行Java的API(如ideone.com),但到目前为止,我在运行Java沙箱时遇到了很多困难(SELinux沙箱不起作用).

我听说过SecurityManager,但是我想弄清楚在沙盒中运行Java代码的最简单方法(有点像在浏览器中运行的Java applet),而不是使用SecurityManager编写自己的jail服务器.

java security sandbox securitymanager

7
推荐指数
1
解决办法
359
查看次数