小编its*_*ohn的帖子

带有Chrome Native Messaging的C#本机主机

我今天花了几个小时研究如何使用C#本机主机来使用Chrome本机消息传递.从概念上来说,这很简单,但是我从这些其他问题的帮助(部分)中解决了一些障碍:

原生消息Chrome
从Chrome扩展到使用C#编写的本机主机的本机消息传递
很慢,无法将"大量"数据从Chrome扩展传递到主机(用C#编写)

我的解决方案发布在下面.

c# google-chrome chrome-native-messaging

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

成功登录后添加声明

用户登录成功后,我需要添加对用户身份的声明.这是我认为需要发生的地方:

public async Task<ActionResult> Login(LoginViewModel model, string returnUrl, string myClaimValue)
{
   if (!ModelState.IsValid)
   {
      return View(model);
   }

   var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
   switch (result)
   {
      case SignInStatus.Success:
         UserManager.AddClaim(User.Identity.GetUserId(), new Claim("MyClaim", myClaimValue));
         return RedirectToLocal(returnUrl);
      case SignInStatus.LockedOut:
         return View("Lockout");
      case SignInStatus.RequiresVerification:
         return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
      case SignInStatus.Failure:
      default:
         ModelState.AddModelError("", "Invalid login attempt.");
         return View(model);
   }
}
Run Code Online (Sandbox Code Playgroud)

我认为这是正确的方法,但是调用User.Identity.GetUserId()抛出异常.它似乎User.Identity没有被成功的登录更新.代替这个现实,对我来说,获取新签名用户ID的最佳方式是什么,以便我可以添加声明?

或者我这样做是错的?

c# asp.net-mvc asp.net-identity

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

JsonConvert.DeserializeObject <>(string)为$ id属性返回null值

我正在使用System.Net.WebClient.DownloadString下载JSON.我收到了有效回复:

{
"FormDefinition": [
    {
        "$id":"4",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"Punchworks Form"
    },
    {
        "$id":"6",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"Punchworks Form test second"
    },
    {
        "$id":"46",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"any_Name"
    },
    {
        "$id":"47",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"Punchworks Form test second"
    },
    {
        "$id":"49",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"Testing Name ??´????? ???? ACEeišuu { [ ( ~ ! @ # "
    },
    {
        "$id":"50",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"something new"
    },
    {
        "$id":"56",
        "Class":558,
        "ClassDisplayLabel":"Punchworks",
        "Name":"Testing Name руÌÑÑкий 汉语漢語 ĄČĘėįšųū { [ ( ~ ! @ # "
    },
    {
        "$id":"57", …
Run Code Online (Sandbox Code Playgroud)

c# webclient json.net

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

ASP.net MVC - 为一个用户/角色授权控制器,但为一个操作授权所有用户

我有一个像这样的控制器:

[Authorize(Users="Admin")]
public class MyController : Controller
{
    ...

    [AllowAnonymous]
    public AllUsersAction()
    {

    }
}
Run Code Online (Sandbox Code Playgroud)

除了我确实想要授权AllUsersAction,只有所有授权用户都应该能够点击它,而不仅仅是管理员.

该怎么办?

编辑:我知道我可以授权整个控制器,并为所有应该可用的操作提供更多限制Admin.但我宁愿不把属性放在每一个动作上,而是一个.

问题可以更好地表达:如果目前不可能实现这种"极简主义",那么实现会是什么样的?

asp.net-mvc

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

与phantomjs的cntlm代理

我正在尝试在我的Windows机器上使用cntlm代理与使用PhantomJS的Windows身份验证的IIS上的本地Web应用程序进行通信.要创建代理,我正在做:cntlm -v -u username@domain -p password -l 1456 localhost:80

我的应用程序住在 localhost/myapp

为了测试这是否有效,我尝试浏览,localhost:1456/myapp但我总是得到一个auth挑战,没有合理的用户名/密码组合似乎工作.有关为什么此设置可能无法按预期工作的任何想法?

当我在浏览器中点击代理端点时,这是来自cntlm的输出:

http://pastebin.com/xvvmfsGV

iis proxy ntlm windows-authentication phantomjs

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

从注册表中提取REG_MULTI_SZ值并存储在字符串数组c ++中

有一个REG_MULTI_SZ值,我想在一个字符串数组中,以便我的程序可以用它们做其他事情.我从来没有使用过C++来访问注册表,所以在按照一些例子后我有点迷失了.我正在使用VS10.

有一个简单的方法吗?谢谢.

c++ registry visual-studio-2010 visual-c++

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