微软最近推出了新的ASP.NET身份 - 替换旧的(简单)成员资格.不幸的是,我不能在我的旧项目中使用这个新的成员资格系统,因为它抛出System.InvalidOperationException:在上下文中找不到owin.Environment项.这是一个已知的错误,但微软对这个问题保持沉默.重现此错误的最简单方法 - 在VS 2013(使用Web Tools 2013 Preview Refresh)创建新的Web应用程序(MVC,WebForms或WebApi - 无关紧要),然后转到登录页面.它会工作.然后将应用程序中的命名空间更改为原始命名空间以外的任何内容,登录页面将抛出该错误 将名称空间更改回原始名称(您在创建项目时使用的名称空间)将解决此问题.
它看起来像.net存储某个与原始命名空间相关的东西,但是我找不到它在哪里和哪里,它不在项目文件夹中.我知道stackoverflow不是bug报告的地方,我只是希望有人已经找到了解决这个问题的方法,或者参与ASP.NET身份开发的人会看到这个.
要重置密码,我们需要知道UserId并将其传递给UserManager.ResetPasswordAsync方法.在Identity 1.0中,可以从UserManager.PasswordResetTokens.Validate方法获取UserId((UserManager.PasswordResetTokens.Validate(token)).UserId).现在它已经消失,所有现有的例子都告诉我,我需要向用户询问用户名或电子邮件.这不是用户友好的,如果令牌有效,我不希望我的用户再次输入用户名.
这已经是ASP.NET身份中已经建立的传统 - 以前工作的东西在新版本中被破坏了.当然我可以使用嵌入式UserId创建自己的组合令牌,但为什么我需要做额外的工作呢?新版本应该改进,而不是让它们变得更糟.
如何获取角色中所有用户的列表?在使用Roles.GetUsersInRole之前,但是使用新的Identity我找不到这样的东西.
在Aurelia的预发布版本(例如,beta版)中,JSPM安装总是得到.js和.d.ts文件,这是完美的.现在JSPM只下载.js文件.要修复(?)这个,现在使用Typings的Skeleton模板,在typings.json配置文件中有很多额外的行.现在,随着TypeScript 2.0的发布,Typings被认为已弃用,获取类型定义的"官方"方式是npm的@types存储库.Aurelia不存在(这很好),但为什么我不能像以前一样使用JSPM下载类型?我不想为Aurelia使用Typings,因为,首先,我不想在不同的包管理器中一次又一次地指定相同的包只是为了在已经凌乱的现代JS工具设置中添加更多的混乱,其次,作为我之前说过,打字会被弃用,我很高兴它发生了.
我正在尝试使用ASP.NET Identity 1.1的每晚构建实现密码重置功能.有一个UserManager.GetPasswordResetToken方法,但它会抛出一个异常"没有注册ITokenProvider".ASP.NET身份中是否有内置的令牌提供程序?如果是的话,我怎么注册呢?如果不是,我该如何实施呢?将是1.1中的默认令牌提供程序.发布?最后一个问题,是否有估计的1.1发布日期?
我有一个简单的节点脚本来处理家庭自动化API中的一些数据。一切正常,直到最后一次Node更新为止。现在,使用Node版本4.3.0或5.6.0,http模块给我这个错误:
{ [Error: Parse Error] bytesParsed: 193, code: 'HPE_UNEXPECTED_CONTENT_LENGTH' }
Run Code Online (Sandbox Code Playgroud)
导致错误的API调用示例,它仅返回一个数字(温度):
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 5
Content-Type: application/json
Transfer-Encoding: chunked
21.81
Run Code Online (Sandbox Code Playgroud)
以及产生错误的代码:
const http = require("http");
const url = "http://127.0.0.1:8083/ZWaveAPI/Run/devices[11].instances[2].commandClasses[49].data[1].val.value";
http.get(url, (res) => {
// consume response body
res.resume();
}).on("error", (e) => {
console.log(e);
});
Run Code Online (Sandbox Code Playgroud)
我认为该错误与CVE-2016-2216 Response Splitting Vulnerability有关,但我尝试运行那里提到的脚本--security-revert = CVE-2016-2216标志,它没有帮助。有任何想法吗?
asp.net ×4
c# ×3
.net ×1
aurelia ×1
javascript ×1
jspm ×1
katana ×1
node.js ×1
owin ×1
typescript ×1