我试图找出“正确”的方式来建立从我的DataSnap应用程序的服务器到我的数据库的连接。的DataSnap和数据库连接/登录
数据库中的每个表(大多数)都有字段(其值是通过插入和更新的触发器设置的)称为Updated和Created(这是写入记录时的当前时间戳记)以及updated_by和created_by哪个(应该)包含当前登录的用户。
我希望用户从客户端“登陆”,使得这些领域的反映谁已登录的用户(通过扩展,我会从数据库中获取用户身份验证,而不是从服务器)。我能处理的认证服务器本身从客户机确定处理服务器上的OnUserAuthenticate和OnUserAuthorize事件。我试图然后将凭据传递到我的数据库,以便触发器可以正确设置上述字段。
那么,什么是解决这个场景的方式吗?我不知道来自客户端的DSAuthProxyUser和DSAuthProxyPassword可以使用,但我找不到太多(有)我将如何使用该文档。我是否为每个连接用户建立新连接?这对我来说似乎最合乎逻辑。我不会有很多并发用户。上衣30.最有可能5-10。但是,这是做什么“正常”的方式?我不希望(希望我不必)将用户名传递给每个插入/更新以设置表中的值。
我希望我已经解释清楚我的处境。
感谢
我想人们也可以写'dummy_result = RDB $ SET_CONTEXT( 'USER_SESSION', 'actualuser', '用户的<名')'? – mjn
在PSQL你甚至可以不用来分配根据文档的变量:“由于它的UDF般的性质,RDB $ SET_CONTEXT可以 - 在PSQL唯一的 - 被称为像一个空函数”。但是,从SQL运行时,您需要将其作为针对'RDB $ DATABASE'的查询来执行。 –
完美。谢谢!我可以根据需要做这件事。 – Jason