[转载红鱼儿]kbmmw 开发点滴:EarlyAuthentication

简介: kbmmw 开发点滴:EarlyAuthentication 1.kbmMWServer.EarlyAuthentication的作用:当为真是,当客户端请求时,先触发kbmMWServer的OnAuthenticate事件,如果请求的Service需要验证,再触发Service的OnAuthenticate事件.当为假时,如果Service需要验证,则执行顺序相反;Service不需要验证,则不触发kbmMWServer.OnAutherticate事件。
kbmmw 开发点滴:EarlyAuthentication

1.kbmMWServer.EarlyAuthentication的作用:

当为真是,当客户端请求时,先触发kbmMWServer的OnAuthenticate事件,如果请求的Service需要验证,再触发Service的OnAuthenticate事件.
当为假时,如果Service需要验证,则执行顺序相反;Service不需要验证,则不触发kbmMWServer.OnAutherticate事件。

此外,无论谁先触发,OnAuthenticate事件中的Perm是不传递的。例如:在kbmMWServer的OnAuthenticate中perm设置为
 Perm:=[mwapExecute];当触发Service的OnAuthenticate时,Perm为[].

2.如何让Service需要验证,则需要设置Service的标记mwsfRunRequireAuth:
function TkbmMWSimpleService1.GetFlags:TkbmMWServiceFlags;
begin
     Result:=[mwsfListed,mwsfRunRequireAuth];
end;

目录
相关文章
|
3月前
|
Python
[NISACTF 2022]ezpython入土为安的第二十一天
[NISACTF 2022]ezpython入土为安的第二十一天
39 0
|
数据库 关系型数据库 MySQL
清幽傲竹实现的kbmMWServer数据库联接失败重联(转载红鱼儿)
1。修改kbmMWUnidac单元的TkbmMWUNIDACConnection.InternalOpenConnection方法,加上:            //支持unidac重联           FDatabase.
969 0
|
数据库
unidac 6.0.1 与kbmmw 的一点小摩擦
unidac 6.0.1  出来了,虽然支持sql server 直连等新特性,但是由于内部改动比较大, 导致与kmmmw 的集成起来存在有点小问题,就是如果数据库不是interbase 或者firebird 的话, 客户端访问kbmmw会出现"InterBase provider is not registered.
1018 0
|
Web App开发 测试技术
[转载红鱼儿]delphi 实现微信开发(1)
大体思路: 1.用户向服务号发消息,(这里可以是个菜单项,也可以是一个关键词,如:注册会员。) 2.kbmmw web server收到消息,生成一个图文消息给微信,在图文消息中做好自己的url,在url中,可以把第一步消息带来的openid写到url的参数表中。
1334 0
|
SQL 数据库
[转载红鱼儿]kbmmw 开发点滴:kbmMWQuery插入记录
想利用TkbmMWUNIDACQuery插入一条记录,结果遇到问题,显示: 不允许从数据类型 sql_variant 到 varchar 的隐式转换。请使用 CONVERT 函数来运行此查询。这是什么问题啊?下面是出问题的代码,很常规的写法。
892 0
|
数据处理
[转载红鱼儿]kbmmw 开发点滴:kbmmW服务端事务控制
关于kbmMW的事务控制,前文已经在客户端实现,通过kbmMWClientTransaction来控制多个数据集的提交,在客户端提交多数据集,实际上,是在客户端实现业务逻辑,并通过一个事务来完成数据处理,这是违反多层架构的做法,实际项目中,需要在服务端,往往是利用多个数据集进行业务处理,并且用事务来控制,那我们该怎么办呢?换句话说,如何在服务实现事务的控制。
820 0
|
安全
[转载红鱼儿]kbmmw 开发点滴:TkbmMWLock用法
TStringList不是线程安全的,当我们在线程用到他是,要做保护。方法有两种,一种是用delphi自带的Critical,另外一种就是kbmMW为我们提供的TkbmMWLock类。 现在我们看看如何用TkbmMWLock为TStringList做线程安全: 1.
1096 0