草庐IT

安全字典

全部标签

c# - 授权整个安全组在 ASP.Net MVC 中执行操作

我想授权用户在我的Controller中执行特定操作。我找到了ASP.NETtutorial这解释了如何允许单个用户执行特定操作,但这可以扩展到安全组吗?例如,如果代码如下所示,属于“domain\group”安全组的每个人都可以访问GetSecrets操作吗:[Authorize(Users="domain\group")]publicActionResultGetSecrets(){returnView();}如果没有,我该怎么做? 最佳答案 您想使用Roles属性(property)。请注意,这可以是逗号分隔的角色列表。[Au

c# - 字典 : search key strings with a like feature

我想用类似的功能在字典中搜索我的关键字。我想拿key以“a”开头或者他们的第三个字母是“e”或者他们的第四个字母不是“d”在sql中可以编写查询“where(keylike'a')and(keynotlike'd__')“我想拥有这个功能对于字典。您有什么算法建议吗?谢谢! 最佳答案 虽然这将是表扫描的SQL等效项,但您可以使用LINQ或IEnumerable用于在字典中搜索其键与模式匹配的所有值的扩展方法:扩展方法:varvalues=dictionary.Where(pv=>pv.Key.StartsWith("A")||(pv

c# - NetNamedPipeBinding 安全吗?

我想知道netNamedPipeBinding是否被认为是安全的:一方面,NetNamedPipeBinding仅在传输层实现安全性,并且它使用Microsoft不再推荐的NTLM(source)(source)另一方面,NamedPipie无法从远程计算机访问,并且无法窃听用于传输数据或向其写入数据的特定开放管道实例,除非可以获取句柄有关的具体实例。这就是为什么我不知道如何考虑这个解决方案的安全性的原因。 最佳答案 您并没有真正提出正确的问题:不可能给出在所有情况下都有效的bool值答案。您应该始终从整体上评估解决方案的安全性,识

c# - 从 C# 程序读取 outlook 消息时如何避免 outlook 安全警报

我需要通过C#程序读取Outlook收件箱中新邮件的主题、发件人地址和邮件正文。但我收到安全警报“一个程序正在尝试访问您存储在Outlook中的电子邮件地址。你想允许这个吗?通过一些谷歌搜索,我发现很少有第三方COM库可以避免这种情况。但我正在寻找不需要任何第三方COM库的解决方案。 最佳答案 我在访问Outlook邮件项目的发件人电子邮件地址时遇到了同样的问题。为避免“安全警报”,不要创建新的应用程序对象,而是使用Globals.ThisAddIn.Application来创建新的邮件项。stringGetSenderEmail(

c# - 按值对字典(字符串,整数)进行排序

所以基本上我对交给我的任务有疑问。我不会让您厌烦任务本身的细节,所以我只会为您提供相关信息。我有一本字典,我需要按最高的int[value]排序,准确地说是前五名,我还需要能够显示后五名。Dictionarydict=newDictionary();字符串(键)包含已为文本文件读取的单词。整数(值)保存它们在文档中被提及的次数。我本来打算用另一种方式来做,但有人告诉我要用字典来做,所以请字典帮忙。如果您能解释应该如何完成,我将不胜感激,这样我就可以学习并完成任务,因为该任务的目的是self教育,但我发现它有点困难..非常感谢您提前提供的所有帮助,如果需要更多信息,请告诉我,我会发布!

c# - 双重检查字典 "ContainsKey"上的锁定

我的团队目前正在讨论这个问题。有问题的代码是if(!myDictionary.ContainsKey(key)){lock(_SyncObject){if(!myDictionary.ContainsKey(key)){myDictionary.Add(key,value);}}}我看到的一些帖子说这可能是一个很大的NONO(当使用TryGetValue时)。然而,我们团队的成员说这没问题,因为“ContainsKey”不会迭代key集合,而是通过O(1)中的哈希码检查key是否包含在内。因此他们声称这里没有危险。我想听听您对这个问题的诚实意见。 最佳答案

c# - 以对象为值的字典

我在这里疯了。这可能是因为我错过了一些规则,但如果是这样,请告诉我。我正在尝试创建一个Dictionary,其中一个字符串作为键,一个匿名对象作为值。或者,实际上我不只是在尝试,我正在做。但是当我想改变对象中的特定参数时,它出错了。我这样声明字典:varareas=newDictionary{{"Key1",new{name="Name1",today=0,all=0}},{"Key2",new{name="Name2",today=0,all=0}},...}然后我假设我可以做到这一点:foreach(varareainareas.Keys.ToArray()){varareanam

c# - 从 double 转换为 int 的最佳(最安全)方法

我很好奇将double转换为整数的最佳方法。运行时安全是我在这里的主要关注点(它不一定是最快的方法,但这是我的次要关注点)。我在下面留下了一些我可以想出的选项。任何人都可以权衡哪种是最佳实践吗?有没有我没有列出的更好的方法来完成这个?doublefoo=1;intbar;//Option1boolparsed=Int32.TryParse(foo.ToString(),outbar);if(parsed){//...}//Option2bar=Convert.ToInt32(foo);//Option3if(fooInt32.MinValue){bar=(Int32)foo;}

c# - 可以将访问频率较低的元素保存到磁盘的字典

在我的应用程序中,我使用字典(支持添加、删除、更新和查找),其中键和值都可以序列化或可以序列化(值可能是非常大的对象图)。当字典变得如此之大以致于将它完全保存在内存中开始偶尔触发OutOfMemoryException(有时在字典方法中,有时在代码的其他部分)时,我遇到了一个问题。在尝试用数据库完全取代字典后,性能下降到无法接受的水平。对字典使用模式的分析表明,通常只有一小部分值是“热”值(经常访问),而其余部分(大部分)是“冷”值(很少或从不访问)。很难说什么时候添加新值是热值还是冷值,而且,随着时间的推移,一些值可能会在热值和冷值之间来回迁移。我认为我需要一个字典的实现,它能够在低

c# - 在 ASP.NET MVC 应用程序中处理记录/实体级别的安全性

每个人都在做什么来处理ASP.NETMVC应用程序中单个记录的安全性(检索和修改)?这个应用程序有一个服务/业务层和一个数据访问层,它们完全独立于Web用户界面。我已经在使用成员资格和角色提供程序来处理我应用程序中特定区域/功能的身份验证和授权,但现在我需要保护个人记录。例如,假设Bob可以创建和编辑他自己的FooBar记录。我想确保其他用户无法查看或编辑Bob的记录。我想防止URL操作和/或编程错误。我们可能还希望允许Bob与其他用户共享他的FooBars,允许他们查看但不能编辑他的记录。我想到了几种方法:直接在检索和修改查询中进行数据访问层的安全检查。检查服务层的安全性,在处理业务