小编Ben*_* E.的帖子

用于ios用法描述的edit-config:doc.find不是一个函数

使用edit-config标签时config.xml,我在构建时遇到此错误:

Error: doc.find is not a function
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

ios cordova

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

WebApi v2 ExceptionHandler未调用

为什么ExceptionHandler永远不会调用自定义,而是返回标准响应(不是我想要的)?

像这样注册

config.Services.Add(typeof(IExceptionLogger), new ElmahExceptionLogger());
config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler());
Run Code Online (Sandbox Code Playgroud)

并实现这样的

public class GlobalExceptionHandler : ExceptionHandler
{
    public override void Handle(ExceptionHandlerContext context)
    {
        context.Result = new ExceptionResponse
        {
            statusCode = context.Exception is SecurityException ? HttpStatusCode.Unauthorized : HttpStatusCode.InternalServerError,
            message = "An internal exception occurred. We'll take care of it.",
            request = context.Request
        };
    }
}

public class ExceptionResponse : IHttpActionResult
{
    public HttpStatusCode statusCode { get; set; }
    public string message { get; set; }
    public HttpRequestMessage request { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

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

Sec-Fetch-Mode 和阻塞的 CORS

所以我有同一个网站,从不同的网络和计算机向 (1) Chrome 76 和 (2) Chrome 77 上的同一台服务器发出相同的请求。

一个请求有 (1)Sec-Fetch-Mode: no-cors, Sec-Fetch-Site: cross-site和另一个 (2) Sec-Fetch-Mode: cors, Sec-Fetch-Site: same-site。与一个no-cors具有400与CORS一个C#的Web API端点启用(多年,数以千计的各类设备的不同用户的)失败。

到底是怎么回事?有传言说 Chrome错误没有发送该标头进行飞行前检查,但它确实存在并设置为no-cors.

Chrome 中的安全设置或错误?可修复的服务器端还是前端?

这是由 XMLHttpRequest 发送的,而不是新的 Fetch-API。

google-chrome cors http-status-code-400 sec-fetch-site sec-fetch-mode

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

为ASP.NET身份配置Unity DI

我使用Unity成功为所有常规构造注射,如仓库等,但我不能让它与ASP.NET身份类的工作.设置是这样的:

public class AccountController : ApiController
{
    private UserManager<ApplicationUser> _userManager { get; set; }

    public AccountController(UserManager<ApplicationUser> userManager)
    {
        if (userManager == null) { throw new ArgumentNullException("userManager"); }
        _userManager = userManager;
    }

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

使用Unity的这些配置:

unity.RegisterType<AccountController>();
unity.RegisterType<UserManager<ApplicationUser>>(new HierarchicalLifetimeManager());
unity.RegisterType<IUserStore<ApplicationUser>, UserStore<ApplicationUser>>(new HierarchicalLifetimeManager());
Run Code Online (Sandbox Code Playgroud)

这与Autofac,Ninject的其他帖子相同,例如,但在我的情况下它不起作用.错误消息是:

尝试创建"AccountController"类型的控制器时发生错误.确保控制器具有无参数的公共构造函数.手动创作当然是:

public AccountController()
    : this(new UserManager<ApplicationUser>(new UserStore<ApplicationUser>("Mongo")))
{
}
Run Code Online (Sandbox Code Playgroud)

怎么了?

UPDATE

正如@emodendroket所建议的,缩短代码就可以了.不需要Unity.Mvc包.

unity.RegisterType<IUserStore<IdentityUser>, 
  MyCustomUserStore>(new HierarchicalLifetimeManager());
Run Code Online (Sandbox Code Playgroud)

public AccountController(UserManager<IdentityUser> _userManager,
  IAccountRepository _account)
{
    // ...
Run Code Online (Sandbox Code Playgroud)

c# asp.net dependency-injection unity-container asp.net-identity

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

C#是否在循环/ lambda语句中自动优化代码?

例如,在Javascript中,强烈建议人们在循环之外放置函数调用以获得更好的性能:

var id = someIdType.ToString();
someList.Where(a => a.id == id) ...
Run Code Online (Sandbox Code Playgroud)

C#怎么样?同样的情况还是编译器/运行时采用内部优化/缓存?

someList.Where(a => a.id == someIdType.ToString()) ...
Run Code Online (Sandbox Code Playgroud)

可能是一个菜鸟问题并且之前一直有人问过,但是找不到参考.

c#

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

具有客户端分隔的多租户数据库的Rest API

我有一个带有复合键的多租户数据库

clientId - docId
Run Code Online (Sandbox Code Playgroud)

路由看起来像这样

/api/controller/clientId/docId
Run Code Online (Sandbox Code Playgroud)

对于身份验证,我使用"全局"用户名,例如电子邮件+密码,通过https在每个请求的http-header中发送.用户名明确映射到客户端,并在后端可用.

有什么方法可以正确地进行休息并获得最佳安全性?

  1. 如上所述路由,只需验证根据用户名的clientId与路由中的相同

要么

  1. 如下所示更改路由并在保存记录之前从数据库获取clientId?

    /api/controller/docId

这可能是一个显而易见的问题,但我担心潜在的安全问题.或者使用较短的路由只是一个明智的选择?

谢谢!

rest asp.net-web-api

11
推荐指数
2
解决办法
5476
查看次数

Express不会返回所有查询字符串参数

路线

app.get('/pdf/:id', function(req, res) {
Run Code Online (Sandbox Code Playgroud)

请求

GET http://localhost/pdf/123?option=456&clientId=789
Run Code Online (Sandbox Code Playgroud)

我只能得到

req.query == { option: '456' }
req.params == { id: '123' }
Run Code Online (Sandbox Code Playgroud)

为什么第二个查询参数会被切断?我的分隔符是标准的'&'

node.js express

10
推荐指数
1
解决办法
2839
查看次数

ASP.NET Identity会话cookie的安全性如何?

当然,cookie可能被盗,会话被劫持,但会话cookie的加密本身(在ASP.NET身份中)有多安全?它可以用现代硬件和一点点时间来操纵吗?

我问的是因为我想添加一个标识组的声明,但只有在cookie非常安全时这才是安全的.否则,攻击者可以注册一个合法的帐户,然后在没有窃取密码的情况下进入其他组.

asp.net security session-cookies asp.net-identity

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

Filesystem API在Chrome v27和v29中无效

我正在尝试设置一个文件存储空间以供以后在Phonegap中使用,但现在在Chrome中进行调试.按照html5rocks中描述的方式只允许我从用户请求配额,但是不执行请求文件系统时的回调.看到:

window.webkitStorageInfo.requestQuota(PERSISTENT, 1024*1024*1024, function(grantedBytes) {
    requestFS(grantedBytes);
}, onError);

function requestFS(grantedBytes) {
    window.webkitRequestFileSystem(window.PERSISTENT, grantedBytes, function(fs) {
        // ... does not get called ###################################
    }, onError);
}
Run Code Online (Sandbox Code Playgroud)

现在Chrome警告我,webkitStorageInfo已被弃用,并且今天有一个新标准https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html.我尝试使用navigator.webkitPersistentStorage但没有成功.

文件系统API是否可能当前不工作或已被弃用,或者我的上述代码可能有问题?

下面的函数也没有做任何事情,没有错误可见:

navigator.webkitPersistentStorage.queryUsageAndQuota(function(usage, quota) {
    console.log(arguments);

    navigator.webkitPersistentStorage.requestQuota(1024 * 1024, function(grantedQuota) {
        console.log(arguments);

        window.webkitRequestFileSystem(window.PERSISTENT, 1024 * 1024, function(fs) {
            console.log(arguments);
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

更新:

我得到了Eric Bidelman工作的Filer,所以我的代码中的某些东西一定是错的,尽管我看不出Filer init方法和我正在做的事情之间的区别.

javascript html5 google-chrome fileapi cordova

6
推荐指数
1
解决办法
7125
查看次数

Mobile Safari 10 IndexedDB Blob

Safari 10中的IndexedDB现在支持blob.这在桌面上工作正常,但iOS 10上的移动Safari会抛出错误:

UnknownError
Run Code Online (Sandbox Code Playgroud)

有时结合:

TransactionInactiveError (DOM IDBDatabase Exception): Failed to store record in an IDBObjectStore:
The transaction is inactive or finished.
Run Code Online (Sandbox Code Playgroud)

代码(缩写):

var indexedDB = window.indexedDB || window.webkitIndexedDB || window.mozIndexedDB || window.msIndexedDB,
    READ_WRITE = IDBTransaction && IDBTransaction.READ_WRITE ? IDBTransaction.READ_WRITE : 'readwrite',
    storeName = 'files',
    db;

init: function() {
    var request = indexedDB.open('mydb');
    request.onerror = ...;
    request.onupgradeneeded = function() {
        db = request.result;
        db.createObjectStore(storeName);
    };
    request.onsuccess = function() {
        db = request.result;
    };
},

save: function(id, data) {
    var put …
Run Code Online (Sandbox Code Playgroud)

javascript safari mobile-safari indexeddb

6
推荐指数
1
解决办法
1941
查看次数