上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 85 下一页
摘要: Let’s Encrypt是一个开源免费的SSL证书项目,是由 Mozilla、思科、Akamai、IdenTrust 和 EFF 等组织发起的,现由Linux基金会托管。这篇博文分享的是使用letsencrypt成功在Linux Ubuntu上生成https证书的操作步骤。 阅读全文
posted @ 2015-12-28 18:23 dudu 阅读(8586) 评论(4) 推荐(1) 编辑
摘要: 在Chrome中以https访问自己搭建的gitlab站点时经常出现下面的错误:Your connection is not private。出现这个问题时,无法正常访问gitlab站点,只能换Firefox访问。这个问题是两方面的原因引起的:1)Chrome检查证书权威失败;2)gitlab在http response headers中强制添加了下面的内容:Strict-Transport-Security: max-age=31536000 阅读全文
posted @ 2015-12-14 20:43 dudu 阅读(11614) 评论(0) 推荐(0) 编辑
摘要: 11月12日,惊喜地发现SqlClient跨平台了,终于可以在Linux上基于.NET Core运行ASP.NET 5程序访问SQL Server数据库了。于是,立马更新dnx至rc2,用之前已经写好的、用EF7访问SQL Server数据库的ASP.NET 5示例程序,分别在2台Linux服务器上进行测试,但测试时遇到了一个非常奇怪的问题。 阅读全文
posted @ 2015-11-19 19:09 dudu 阅读(5595) 评论(10) 推荐(18) 编辑
摘要: 在将一台服务器的操作系统由Windows Server 2012升级为Windows Server 2012 R2之后,在Mac电脑上用微软的远程桌面软件怎么也连不上服务器,而在Windows电脑上可以正常用远程桌面连上,后来在superuser网站上找到了解决方法。 阅读全文
posted @ 2015-11-08 18:17 dudu 阅读(22666) 评论(6) 推荐(2) 编辑
摘要: 今天在IE10下遇到了JSON.stringify()无法使用的问题,错误信息为:'JSON' is undefined 。开始以为是没有添加json2.js引用的原因。后来发现,其他地方也没添加json2.js的引用,但JSON.stringify()可以正常使用。突然想到,出问题的这台服务器是新安装的,可能IIS配置上有些不一样。 阅读全文
posted @ 2015-10-29 19:54 dudu 阅读(7902) 评论(3) 推荐(4) 编辑
摘要: 私钥是在Linux中通过openssl命令生成的。证书是通过cnblogs.csr在godaddy上生成的。生成的私钥/证书在自己的搭建的nginx服务器上可以正常使用。但是在阿里云SLB证书管理中创建证书总是失败,具体的错误信息:"The specified parameter ServerCertificate format is error." 阅读全文
posted @ 2015-09-28 19:35 dudu 阅读(7554) 评论(6) 推荐(0) 编辑
摘要: 有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软件上称为FMM有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合计算机的工作特点。 阅读全文
posted @ 2015-09-13 13:24 dudu 阅读(1290) 评论(0) 推荐(1) 编辑
摘要: 在C#中,用HttpClient调用Web API并且通过Content.ReadAsStringAsync()读取响应内容时,如果出现500错误(InternalServerError),会得到一个包含错误信息的json字符串。这样一个复杂的字符串可读性很差,通常只需要部分信息(比如ExceptionMessage)就可以知道错误的情况。那如何读取所需的部分信息呢? 阅读全文
posted @ 2015-08-26 14:56 dudu 阅读(6022) 评论(4) 推荐(0) 编辑
摘要: 今天在开发一个ASP.NET Web API项目写单元测试时,实在无法忍受之前的笨方法,决定改过自新。这次经历再次证明了,当有一个问题影响你写代码的乐趣时,一定要尽早下定决心解决它,否则它浪费的时间很可能是解决这个问题所需时间的n倍,而且很多时候解决一个问题的难易程度取决于你下的决心有多大。 阅读全文
posted @ 2015-08-18 17:00 dudu 阅读(4039) 评论(5) 推荐(7) 编辑
摘要: 今天在将一个项目中使用存储过程的遗留代码迁移至新的架构时,遇到了一个问题——如何用EF实现数据库中指定字段的更新(根据UserId更新Users表中的FaceUrl与AvatarUrl字段)?最终验证了,添加IUnitOfWork.UpadteAsync()接口,基于EntityFramework.Extended,用EF实现数据库中指定字段的更新,这种方法在实际开发中使用完全可行。 阅读全文
posted @ 2015-08-17 13:22 dudu 阅读(15470) 评论(35) 推荐(31) 编辑
摘要: 最近同事用iOS App调用Open API时遇到一个问题:在access token过期后,用refresh token刷新access token时,服务器响应"invalid_grant"错误;而在access token没有过期的情况下,能正常刷新access token。先查看了一下OAuth规范中的“Refreshing an Expired Access Token”流程图,以确认客户端的操作流程有没有问题。 阅读全文
posted @ 2015-08-16 22:12 dudu 阅读(10117) 评论(7) 推荐(3) 编辑
摘要: 今天发现一个项目的git commit message中的单词拼错了,需要修改一下。但这样简单的修改,需要通过git rebase才能完成。首先要git rebase到需要修改message的那个commit的前1个commit。假设commit id是32e0a87f,运行下面的git rebase命令:git rebase -i 32e0a87f。在git bash中运行上面的命令后,会弹出编辑框 阅读全文
posted @ 2015-08-05 17:09 dudu 阅读(15991) 评论(3) 推荐(0) 编辑
摘要: 之前写过2篇关于refresh token的生成与持久化的博文。后来发现一个问题(这是遇到的第1个问题),在用户不登录的情况下,以client credentials grant方式获取access token时,也会生成refresh token并且保存至数据库。 阅读全文
posted @ 2015-07-27 16:16 dudu 阅读(4754) 评论(11) 推荐(1) 编辑
摘要: 在前一篇博文中,突发奇想地用文件存储实现了oauth refresh token的持久化。在这篇博文中,我们将面对现实地将文件存储改为数据库存储。既然软件开发中唯一不变的就是变化本身,那我们主动求变,用变化来验证代码的设计是否能随机应变。 阅读全文
posted @ 2015-07-20 17:34 dudu 阅读(2031) 评论(13) 推荐(5) 编辑
摘要: 使用nginx的反向代理功能搭建nuget镜像服务器时,需要针对官方nuget服务器的响应内容进行字符串替换,比如将www.nuget.org替换为镜像服务器的主机名,将https://替换为http://。而nginx没有内置这个功能,需要使用第三方module,比如subs_filter。 阅读全文
posted @ 2015-07-19 16:11 dudu 阅读(14845) 评论(2) 推荐(1) 编辑
摘要: 对于请求内容的http compression,.NET中的HttpClient并没有提供对压缩的内置支持,IIS也没有提供对解压的内置支持,需要自己写代码实现,本文也是由此而生。对于压缩与解压,System.IO.Compression中提供了对应的类库——GZipStream与DeflateStream,我们只需要在HttpClient与Web API中应用它们即可。 阅读全文
posted @ 2015-07-17 17:33 dudu 阅读(8302) 评论(17) 推荐(12) 编辑
摘要: 之前只是知道refresh token是用于刷新access token的,却不知道refresh token凭什么可以刷新access token?也就是知其然,不知其所以然。这是由于之前没有发现refresh token与access token有1个非常重要的区别——Refresh token只是一种标识,不包含任何信息;而access token是经过序列化并加密的授权信息,发送到服务器时,会被解密并从中读取授权信息。 阅读全文
posted @ 2015-07-15 18:41 dudu 阅读(15972) 评论(35) 推荐(14) 编辑
摘要: 在ASP.NET OWIN OAuth(Microsoft.Owin.Security.OAuth)中,access token 的默认加密方法是:1) System.Security.Cryptography.DpapiDataProtector.Protect();2) Convert.ToBase64String();3) .TrimEnd('=').Replace('+', '-').Replace('/', '_'); 阅读全文
posted @ 2015-07-14 23:30 dudu 阅读(9135) 评论(5) 推荐(1) 编辑
摘要: 本以为搞定了 access token 就搞定了 Web API 的验证与授权问题,可是发现 OAuth 中还有一种 token,叫 refresh token。开始的时候很是纳闷,access token 已经能解决问题,为什么要搞定两套 token,refresh token 有啥用?在纳闷之下,发出了这样的感慨:既生 access token,何生 refresh token? 阅读全文
posted @ 2015-07-13 17:12 dudu 阅读(48676) 评论(44) 推荐(22) 编辑
摘要: 默认情况下,ASP.NET Web API不从Controller的注释中生成帮助文档。如果要将注释作为Web API帮助文档的一部分,比如在帮助文档的Description栏目中显示方法注释中的summary,需要进行一些配置操作。 阅读全文
posted @ 2015-07-10 17:58 dudu 阅读(9284) 评论(13) 推荐(1) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 85 下一页