小编Rag*_*esh的帖子

如何在Java中解码DER编码的字符串?

我正在尝试从数字证书中读取自定义扩展程序.我知道值是在DER中编码的GeneralString.有没有一种简单的方法来正确解码它并获得Java String?我尝试了以下内容,但是's'包含了一些编码元数据作为字符串开头的垃圾字符.

byte[] ext = cert.getExtensionValue("1.2.3.4");
String s= new String(ext);
System.out.println(s);
Run Code Online (Sandbox Code Playgroud)

有没有快速简便的方法来做到这一点?或者我真的需要使用一些完整的ASN.1库吗?

谢谢!

java asn.1 decoder

15
推荐指数
4
解决办法
4万
查看次数

脱机Web应用程序中的用户身份验

我正在构建一个需要脱机工作的Web应用程序.该系统用于捕获销售交易.大部分"离线"部分相当简单 - 我只需要在本地存储数据并在我回到网络时同步它.到现在为止还挺好.

问题在于身份验证.该应用程序将在具有单个OS用户帐户的共享计算机上运行.如果我处于离线状态,我该如何对用户进行身份验证?

用户自己没有我需要隔离的任何私人数据(即,我不必在客户端上彼此保护它们).我需要能够验证他们的密码,这样即使连接断开,我也可以让不同的用户全天登录.

我正在考虑的一种方法是在IndexedDB中在客户端缓存密码哈希.只允许一组有限的用户从特定的共享计算机登录,因此我不需要在本地缓存我的整个密码数据库.假设我有一个良好的密码策略(复杂性和到期要求),并且哈希本身是安全的(bcrypt),这个想法多么可怕?

我还有其他选择吗?

javascript authentication html5 offline

15
推荐指数
1
解决办法
4129
查看次数

如果URL包含片段,为什么Url.IsLocalUrl返回false?

我正在使用Url.IsLocalUrl检查传递给我的身份验证操作的返回URL是否是本地的.只要URL中没有片段,它就可以正常工作.也就是说, /t/test-team-3/tasks/lists/15返回true,但/t/test-team-3/tasks#/lists/15返回false.

这背后的原因是什么?是否有一些模糊的安全问题可能会在片段中出现,或者我可以在检查URL是否为本地时安全地忽略该片段?

c# asp.net-mvc-3

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

"需要SSL"如何影响ASP.NET MVC应用程序生命周期?

我有一个应用程序可以点击BeginRequestEndRequest设置和拆除NHibernate会话,如下所示:

BeginRequest += delegate
{
    CurrentSessionContext.Bind(SessionFactory.OpenSession());
};

EndRequest += delegate
{
    var session = CurrentSessionContext.Unbind(SessionFactory);
    session.Dispose();

    Container.Release(session);
};
Run Code Online (Sandbox Code Playgroud)

这在IIS中部署时工作正常,直到我检查"需要SSL"框.一旦我这样做,我得到NullReferenceExceptionsession.Dispose().

我还没有对此进行调试,是的,修复是微不足道的,但我只是对"需要SSL"如何影响请求的生命周期感到好奇.在这些情况下,服务器上是否未设置会话?

编辑:只是为了澄清,我指的是应用程序的IIS配置中的"需要SSL"选项,而不是RequireHttps控制器的属性.

asp.net asp.net-mvc ssl iis-7 requiressl

12
推荐指数
1
解决办法
961
查看次数

在PowerShell中运行时,为什么'where'命令不显示任何输出?

当我where在CMD中运行时,我得到输出:

C:\Users\Ragesh> where calc
C:\Windows\System32\calc.exe
Run Code Online (Sandbox Code Playgroud)

但在PS中同样的事情:

PS C:\data\code> where calc
PS C:\data\code>
Run Code Online (Sandbox Code Playgroud)

输出在哪里?!

powershell

11
推荐指数
1
解决办法
819
查看次数

当我设置包含"+"的响应标头覆盖时,为什么我的S3预签名请求无效?

我正在使用Amazon .NET SDK生成预先签名的URL,如下所示:

public System.Web.Mvc.ActionResult AsActionResult(string contentType, string contentDisposition)
{
    ResponseHeaderOverrides headerOverrides = new ResponseHeaderOverrides();
    headerOverrides.ContentType = contentType;
    if (!string.IsNullOrWhiteSpace(contentDisposition))
    {
        headerOverrides.ContentDisposition = contentDisposition;
    }

    GetPreSignedUrlRequest request = new GetPreSignedUrlRequest()
               .WithBucketName(bucketName)
               .WithKey(objectKey)
               .WithProtocol(Protocol.HTTPS)
               .WithExpires(DateTime.Now.AddMinutes(6))
               .WithResponseHeaderOverrides(headerOverrides);

    string url = S3Client.GetPreSignedURL(request);

    return new RedirectResult(url, permanent: false);
}
Run Code Online (Sandbox Code Playgroud)

这非常有效,除非我的中contentType包含一个+.当我尝试获取SVG文件(例如,获取内容类型)时会发生这种情况image/svg+xml.在这种情况下,S3会抛出SignatureDoesNotMatch错误.

错误消息显示StringToSign如下:

GET 1234567890 /blah/blabh/blah.svg?response-content-disposition=filename="blah.svg"&response-content-type=image/svg xml
Run Code Online (Sandbox Code Playgroud)

请注意,response-content-type中有一个空格,现在它image/svg xml代替的是image/svg+xml.在我看来,这就是导致问题的原因,但是解决这个问题的正确方法是什么?

我应该编码我的内容类型吗?用引号或其他东西括起来?文档没有说明这一点.

c# amazon-s3

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

如何使这个ASP.NET MVC控制器更可测试?

我有一个控制器覆盖OnActionExecuting并做这样的事情:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    base.OnActionExecuting(filterContext);
    string tenantDomain = filterContext.RouteData.Values["tenantDomain"] as string;
    if (!string.IsNullOrWhiteSpace(tenantDomain))
    {
        using (var tx = BeginTransaction())
        {
            this.Tenant = repo.FindOne(t => t.Domain == tenantDomain);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Tenant是一个受保护的财产与私人二传手.该类本身是我的真实控制器派生的抽象基本控制器.我在其他控制器中的代码看起来很像这样:

if (Tenant == null)
{
   // Do something
}
else
{
   // Do something else
}
Run Code Online (Sandbox Code Playgroud)

我该如何测试这段代码?我需要做的是以某种方式设置租户属性,但我不能,因为:

  1. 这是一个受保护的财产,并且
  2. 它有一个私人二传手

改变可见度Tenant并不"感觉"正确.我对派生控制器进行单元测试的替代方案是什么?

asp.net-mvc unit-testing controller

5
推荐指数
1
解决办法
453
查看次数

Java中的泛型和反射

这可能是一个非常基本的问题,但我对Java中的泛型非常陌生,而且我很难用C#中的事情来改变我的思维过程,所以请耐心等待.

我正在尝试用Java构建一个通用存储库.我创建了一个如下所示的IRepository接口:

public interface IRepository<T extends IEntity>
Run Code Online (Sandbox Code Playgroud)

还有一个看起来像这样的Repository类:

public class Repository<T extends IEntity> implements IRepository<T>
Run Code Online (Sandbox Code Playgroud)

现在,从我的Repository类的构造函数中,我希望能够"确定"T的确切类型.例如,如果我实例化了这样的存储库:

IRepository<MyClass> repo = new Repository<MyClass>();
Run Code Online (Sandbox Code Playgroud)

我想知道T实际上是MyClass.这在C#中是微不足道的,但显然泛型是Java中完全不同的野兽,我似乎无法找到任何可以帮助我做到这一点的东西.

java generics reflection

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

如何从Orchard备用内部渲染区域或窗口小部件?

我正试图在Orchard中重现这种布局.到目前为止,我已经通过在我的博客帖子详细信息(Content-BlogPost.Detail.cshtml)中使用替代方案来解决大部分问题.问题是我创建的布局看起来像这样:

在此输入图像描述

我的第一个问题是,这种布局是否有意义?有没有更好的方法来完成这个结果(也就是说,使档案显示与内容一致)?

其次,有没有办法从备用内部渲染区域(或小部件)?我尝试过@Display(Model.Archives),Archives我的区域的名称在哪里,但显然博客详细信息模型没有定义Archives属性.我还考虑过手动调用Blog Archives的形状

@Display(New.Parts_Blogs_BlogArchives(new { Blog: blog, Archives: ???})
Run Code Online (Sandbox Code Playgroud)

但我不知道如何填充第二个论点.

在Orchard中进行这种布局的正确方法是什么?

asp.net-mvc orchardcms razor asp.net-mvc-3

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

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

什么可以导致IISExpress专用字节在托管堆中没有任何重大更改的情况下继续增加?

我有一个ASP.NET MVC 3应用程序,它使用Windsor注入存储库和NHibernate会话.今天,我第一次打了一个OutOfMemoryException.起初我以为可能是因为我没有发布Transient温莎创造的任何物品.作为一个快速的实验,我将所有这些变成了PerWebRequest生活方式,但它似乎并没有大大影响内存使用模式 - 它仍然在不断上升.

  • 我没有做任何缓存
  • 我没有使用任何非托管资源
  • 正在做几个匿名对象的JSON序列化
  • 我用于压力测试的操作只返回一个小的JSON对象(32个字节),因此任何地方都不会涉及大型对象

当我的托管堆大小稳定时(使用Perfmon验证),什么可能导致IISExpress专用字节继续上升?

什么是调试这个的正确工具?我假设CLR分析器可能没有帮助,因为Perfmon没有在托管堆中显示任何泄漏.

castle-windsor out-of-memory asp.net-mvc-3 glimpse

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