我遇到了一个公司正在使用的系统,我们正在考虑与中型(对我们而不是他们)项目合作.
他们有一个我们需要集成的Web服务.
我目前对正确的用户名/密码管理的理解是用户名可以作为明文存储在数据库中.每个用户都应该有一个唯一的伪随机盐,它也可以以明文形式存储.他们的密码文本必须与salt连接,然后这个组合的字符串可以被散列并存储在nvarchar字段的数据库中.只要密码通过SSL提交到网站(或网络服务),一切都应该是可爱的.
如果我错了,请随意撕掉我上面总结的理解.
无论如何,回到手头的主题.此潜在合作伙伴运行的WebService不接受我预期的用户名和密码.相反,它接受两个名为"Username"和"PasswordHash"的字符串字段.我给出的'PasswordHash'值确实看起来像一个哈希值,而不仅仅是一个错误命名的密码字段的值.
这给我带来了一面红旗.我不知道为什么,但出于某种原因,我觉得在电线上发送哈希密码感到很不舒服.在我的脑海中,我无法想到为什么这会是一件坏事...从技术上讲,无论如何都可以在数据库中使用哈希.但它让我感到紧张,我不确定是否有这个原因,或者我只是偏执狂.
编辑
在我重新阅读我的帖子之前,我对下面的一些评论感到困惑.
在原文中,我有一句"只要密码通过明文提交到网站(或网络服务),一切都应该是可爱的."
我发誓,因为我以为我在想"SSL"这个词.出于某种原因,我输入了"明文"这个词.哇.
最差的.错字.永远.
我正在使用C#编写.NET Framework 3.5.
我试图将一些Json解析为JObject.
Json如下:
{
"TBox": {
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 },
"TBox": {
"Name": "MedBox",
"Length": 5,
"Width": 10,
"Height": 10 },
"TBox": {
"Name": "LargeBox",
"Length": 20,
"Width": 20,
"Height": 10 }
}
Run Code Online (Sandbox Code Playgroud)
当我尝试将这个Json解析为JObject时,JObject只知道LargeBox.SmallBox和MedBox的信息丢失了.显然这是因为它将"TBox"解释为属性,并且该属性正在被覆盖.
我从一个用Delphi编码的服务接收这个Json.我正在尝试为该服务创建一个C#代理.在Delphi方面,"TBox"被理解为被返回对象的类型.然后将内部属性("名称","长度","宽度","高度")理解为常规属性.
我可以序列化和反序列化具有Name,Length,Width和Height属性的自定义"TBox"对象.没关系.
我想要做的是逐步完成所有TBox部分,以便提取以下三个Json字符串.
第一:
{
"Name": "SmallBox",
"Length": 1,
"Width": 1,
"Height": 2 }
Run Code Online (Sandbox Code Playgroud)
第二:
{
"Name": "MedBox"
"Length": 5,
"Width": 10,
"Height": 10 }
Run Code Online (Sandbox Code Playgroud)
第三:
{
"Name": "LargeBox"
"Length": 20,
"Width": 20,
"Height": 10 }
Run Code Online (Sandbox Code Playgroud)
一旦我掌握了这些字符串,我就可以将我的内容序列化和反序列化. …
我公司有一个项目的共享网络文件夹.此文件夹包含每个客户的子文件夹.每个子文件夹包含为这些客户端完成的项目的所有信息.有道理,是吗?
好.
我接到了一个任务:在我们公司的MS CRM和查看客户帐户时,允许用户单击一个按钮,将打开资源管理器到该帐户的项目文件夹.
听起来很容易.
在网上做了一些狩猎.这看起来不错:http://blogs.msdn.com/crm/archive/2007/04/18/integrating-windows-explorer-files-and-folders-into-crm-tabs.aspx
它很时髦,但它超出了我实际给出的任务的范围.但是,我的公司不使用SharePoint(虽然我们需要它时有许可证)并且我没有时间投入调整此解决方案,直到它适合我们的CRM.我只需要在客户端计算机上打开资源管理器并将其指向一个文件夹.我想要一个可以打开资源管理器的按钮.应该很容易!我只想在CRM中设置一个按钮,执行命令打开explorer/root,// server/projects/account,然后转到更重要的事情.
也就是说,我不认为像黑客,所以我没有意识到这是一个明显的安全漏洞,将被阻止大多数(如果不是全部)的时间.所以我试了一下,但是我一直无法使用JavaScript打开资源管理器,我认为这将是快速,简单和轻松的解决方案(对不起!)
有没有比我上面引用的例子更容易的方法呢?
browser ×1
duplicates ×1
explorer ×1
hash ×1
json ×1
json.net ×1
login ×1
passwords ×1
properties ×1
security ×1