摘要:在kbmMW 5.06.20试用笔记 中遇到的问题,在这个版本中,基本都解决了。但还是发现修正后存在的小问题及新问题: 1.Resolve返回值错误 当提交的ClientQuery是执行一条sql语句,如Insert,当发生错误时,如主键重复,则Resolve无法返回正确的结果。具体情况就是在客户端
阅读全文
摘要:在之前的基于硬件的随机数博文中,我介绍了如何使用基于外部硬件的随机数生成器,来生成高质量的随机数。 但是,后来英特尔和AMD的CPU也包含随机值生成器。从2015年6月开始,来自Ivy Bridge的Intel CPU和AMD CPU包含了伪随机数生成器指令RDRAND。根据视图,虽然可能比其他伪随
阅读全文
摘要:kbmMW已经包含了非常精细的功能来确定和解释数据库中表的元数据。 在下一版本中,这个功能将得到进一步加强,可以导入现有数据库中的表,自动创建与表相匹配的ORM实体类。 这意味着你能够使用kbmMW的ORM智能来查询表,将数据保存回表并操纵表元数据,例如添加,更改或删除字段、索引以及需要能够升级数据
阅读全文
摘要:kbmMW随机数生成器 为了使基于kbmMW开发的项目更安全,其又提供了随机数及强密码生成实现类,拿来即用,让人感觉真是站到巨人的肩膀上好干活! 随机数方面,kbmMW分别提供32及64位的随机数生成器。 32位随机数生成器: TkbmMWRandomDelphi TkbmMWRandomPCGUI
阅读全文
摘要:Delphi 启示 #1 – kbmMW Smart client on NextGen (Android) – 作用域问题 以更高级的方式使用kbmMW smart client,在Android设备上,我遇到了问题。 通过继承TInvokeableVariantType,kbmMW smart
阅读全文
摘要:kbmMW提供了TkbmMWClientQuery查询组件,作为kbmMW开发者都知道,这是一个内存数据集,基于服务端的查询服务(Query Service),可以直接执行sql得取想要的记录,因为是内存表,可以直接增、删、改记录,并利用Resolve方法提交修改到服务器,同时,也支持事务,利用kb
阅读全文
摘要:从kbmMW v.4.40开始,引入了一个新的非常灵活的授权管理器。 它的目的是为开发人员提供为用户定义资源权限的功能,这是一个可选功能,将现有的授权事件驱动方案内置到kbmMW中,使授权开发任务更容易实现。 据说一张图片值1000字......让我们看看是不是这样: 上述图显示了一个典型的用户如何
阅读全文
摘要:kbmMW的更高版本包含越来越多的功能,可用于通常的日志记录,审计,运行期发生异常时的堆栈跟踪以及现在的内存使用调试。这些功能实际上可用于任何应用程序,不仅限于基于kbmMW开发的多层应用系统。我已经在kbmMW上写了一些关于日志记录和审计系统的文章,其中还介绍了如何在处理异常时的堆栈跟踪,最近新增
阅读全文
摘要:任何信息系统的一个非常重要的部分是能够对用户进行身份验证。 kbmMW在这里提供了非常强大的机制。 TkbmMWSimpleClient提供简单的用户身份验证机制,您可以在连接到应用程序服务器时传递UserName和Password。 但是,要创建最灵活和最强大的身份验证机制,有必要编写一些代码..
阅读全文
摘要:很早就写了关于kbmMW Server如何实现的垃圾回收,但最近一段时间还是为此遇到问题,实现的Server不能稳定运行,发生问题后不响应客户端的查询请求,在客户端得到服务端返回地址错误信息,只能重启Server解决。这是让人最头的问题,还好,今天终于搞定。 先复习一下早前写过的资料,回顾一下何为k
阅读全文
摘要:我在前两篇文章中展示了“REST easy with kbmMW”文章,如何使用kbmMW制作REST服务器,以及如何使用该REST服务器轻松地从数据库返回和存储数据,所有这些都在不到30行的真实数据库中码。 此文章将围绕如何确保使用SSL(安全套接字层)保持与服务器的通信受到保护。换句话说,如何使
阅读全文
摘要:先看kbmMW 5.07.00试用笔记,再继续下面的内容。 1.kbmMWConfiguration自动备份配置文件的问题还没有修正。 下面是以前写过的内容,再一次在新闻组中提出这个问题: kbmMW提供一个强大的配置信息管理对象,前期译过这个对象的介绍,在使用过程中,发现一个问题, 就是TkbmM
阅读全文
摘要:使用kbmMW很容易创建REST服务器。 首先,我们制作服务器应用程序(或服务......取决于您)。 在这种情况下,我们将添加一个简单的Form,为我们的kbmMW组件提供GUI和位置。 在Delphi中,单击文件 - 新建 - VCL Forms应用程序 拖放以下两个组件到Form上: Tkbm
阅读全文
摘要:如果对JWT不熟悉,需要先补下功课:初步理解JWT并实践使用 然后找到开源项目:https://github.com/paolo-rossi/delphi-jose-jwt
阅读全文
摘要:自Delphi 10.2,在System.Hash单元中,新增了HashSHA256等支持,而在最新的kbmMW 5.06 beta版中,在kbmMWCipherHash单元中,也进一步完善对Hash256等支持,有何不同呢? 例如下面这行代码,直接将给定字符串加salt后得到加密结果,如果基于De
阅读全文
摘要:介绍 关于如何使用授权和登录管理来构建应用服务器还存在一些问题,其中之一就是用户及其角色如何在在数据库中定义。该文将解释使用TkbmMWAuthorizationManager解决此问题的一种方法。有关其他的信息,可以参考前文REST easy with kbmMW #4 – Access mana
阅读全文
摘要:在前面有关如何使用kbmMW创建REST服务器的基础上,现在已经到了考虑该如何控制用户的访问。什么是访问管理?就是“允许谁做什么"的问题。显然,这个世界中存在数据,应该保护他而不被未授权的人/进程来读取,创建或更改。反过来说,这些数据应该得到保护,只有信任的人/进程才可以访问。另外,有的数据可以被人
阅读全文
摘要:我被问到有关如何通过基于kbmMW智能服务(Smart Service)的REST处理POST的问题。 这篇博客文章解释了典型的POST各种形式的访问,以及如何在kbmMW中处理它们。 POST变种Web/REST客户端可以通过多种方式POST数据: 1.作为URL的路径部分中的值数据 例如:POS
阅读全文
摘要:复制一个ClientQuery数据集到另外一个ClientQuery,我们应该怎么做?并注意什么呢? kbmMW为我们提供了好几个方法,有LoadFromDataSet,CopyRawRecords,CopyRecords等。查看源码,应该是CopyRawRecords最有效率,但使用过程中遇到好几
阅读全文