草庐IT

安全开发

全部标签

c# - 如何在 WCF 中使用自定义绑定(bind)并使用用户名客户端凭据保持消息安全模式?

我可以通过Internet访问WCF服务,该服务使用wsHttpBinding和消息安全模式以及用户名客户端凭据。我发现将我的数据从客户端传输到服务器需要花费太多时间。我读到我可以为我的服务使用customBinding和binaryEncoding模式。像那样:但是这里没有提及消息安全模式和客户端凭证类型......我如何使用binaryEncoding的自定义绑定(bind)并使用用户名客户端凭据保持消息安全模式? 最佳答案 我知道这不是您要找的答案,但这是我的配置。我将自定义绑定(bind)与UserNameOverTrans

c# - 使用 System.IO.File 辅助方法的 "sequential"文件 I/O 是否安全?

我刚看到这个问题:IsitsafetousestaticmethodsonFileclassinC#?.总而言之,OP有一个IOException,因为此ASP.NET代码片段中正在使用文件:vartext=File.ReadAllText("path-to-file.txt");//DosomethingwithtextFile.WriteAllText("path-to-file.txt");我的第一个想法是,由于多个ASP.NET重叠请求,这是一个简单并发访问问题。我要解决的问题是将I/O集中到一个同步的线程安全类中(或删除文件以支持其他内容)。我阅读了这两个答案,当我正要对其中

c# - 如何在不同的安全上下文中启动线程?

如何在不同用户的安全上下文中启动线程?当进程正常启动线程时,安全上下文也会被传递,但如何使用不同用户的主体在不同的安全上下文中启动线程? 最佳答案 我相信你可以设置CurrentPrincipal作为线程启动后线程代码的第一个操作,然后才开始执行本应与其他主体一起运行的代码。这应该会处理任何基于.NET角色的检查。如果您还需要模拟来调用操作系统,您可以模拟WindowsIdentity。代码(可能有效也可能无效——没有测试):publicvoidRun(objectprincipalObj){if(principalObj==nul

c# - Lazy<T> 是线程安全的惰性加载单例的良好解决方案吗?

我们在get上使用双重锁定实现了一个延迟加载的单例,以确保实例只初始化一次(而不是由于线程竞争条件而初始化两次)。我想知道是否只使用Lazy是解决这个问题的好方法吗?即.privatestaticLazy_instance=newLazy(()=>returnnewMyClass());publicstaticMyClassInstance{get{return_instance.Value;}} 最佳答案 我建议你阅读评论中的引用文章:LazyClassImplementingtheSingletonPatterninC#在所有情

c# - WCF 身份验证 - 验证消息的安全性时出错

我在使用clientCredentialType="UserName"连接到我的WCF服务时遇到问题。当我运行下面的代码时出现错误FaultException:Anerroroccurredwhenverifyingsecurityforthemessage.当玩弄一些绑定(bind)值时,我也得到Accessisdenied.。Fiddler说没有授权header,我在请求中也找不到用户名或密码。以下是我的配置的摘录:我的用户名/密码验证器如下所示:publicclassUserAuthentication:UserNamePasswordValidator{publicoverri

c# - 没有锁的线程安全集合

我正在准备面试,遇到了以下问题。我试过了,但我找不到任何可以创建一个包含没有“锁”的线程安全集合的类的东西。如果知道任何解决方案,请提供帮助。创建一个派生自Object的C#类并实现以下方法:AddString–此方法应将给定字符串添加到内部集合ToString–覆盖此方法并返回一个逗号分隔的字符串,其中包含内部集合中的所有字符串要求:必须是线程安全的必须支持多个并发读者不得使用任何预先存在的线程安全集合奖励:不要使用任何类型的锁 最佳答案 这是一种实现集合无锁修改的方法,方法是处理本地副本,然后在检查竞争的同时尝试将其与全局集合进

c# - 将测试驱动开发应用于紧密耦合的架构

我最近一直在研究TDD,参加了一个session并涉足了一些测试,我已经100%被说服了,我非常喜欢TDD。因此,我向我的前辈们提出了这个问题,他们准备给它一个机会,所以他们让我想出一种在我们的企业产品开发中实现TDD的方法。问题是我们的系统从VB6时代发展到.NET,并实现了许多遗留技术和一些远非最佳实践的开发技术,即ASP.NET代码隐藏和客户端脚本中的大量业务逻辑。然而,最大的问题是我们的类是如何与数据库访问紧密耦合的;属性、方法、构造函数——通常以某种形式具有某些数据库访问权限。我们使用内部数据访问代码生成器工具创建sqlDataAdapters,为我们提供我们可能想要的所有数

c# - BinaryFormatter 序列化和反序列化线程安全吗?

引用this回答一个问题。这可以重写为:privatestaticBinaryFormatterformatter=newBinaryFormatter();publicstaticTDeepClone(thisTa){using(MemoryStreamstream=newMemoryStream()){formatter.Serialize(stream,a);stream.Position=0;return(T)formatter.Deserialize(stream);}}所以避免为每次调用构造(和GC'ing)一个新的BinaryFormatter?此代码路径经常受到攻击,因

c# - 如何从 Word 2010 插件(用 C# 开发)获取 "KeyPress"事件?

如何从使用C#开发的Word2010插件“捕获”KeyPress事件?注意:我不是在寻找诸如Hook之类的“复杂”解决方案,而是为了美观整洁.NET甚至来自对象模型。我“掌握”的应用对象是:Microsoft.Office.Interop.Word.Application最好的问候 最佳答案 不幸的是,WordAPI或VSTO中没有任何内置的东西可以获取击键,可以找到更多关于这方面的信息here一段时间以来,我一直在寻找可行的解决方案,但我能想到的最好办法是使用Hook通过WindowsAPI处理它,您很可能会得出相同的结论,所以这

支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了

支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了熟悉RT-Thread和瑞萨MCU的朋友都知道,当前RT-Thread仓库的主线代码是不支持RA2E1这个BSP的。刚好,最近我在联合瑞萨推广一个叫《致敬未来的攻城狮计划》,使用的就是RA2E1开发板,正好乘着这个机会把RA2E1这个BSP合入到主线去,想必一定非常有趣。文章目录1写在前面2《致敬未来的攻城狮计划》2.1计划内容2.2当前进展3让RA2E1支持RT-Thread3.1遇到的问题3.2查找资料3.3新的问题来了3.4咨询大神3.5潜心研究3.6试着解决问题3.7皆大欢喜4小小总结5下一步计划6文末福利1写在前面借