Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi Firebird 2.5中的Windows身份验证_Delphi_Login_Windows Authentication_Firebird2.5_Dbexpress - Fatal编程技术网

Delphi Firebird 2.5中的Windows身份验证

Delphi Firebird 2.5中的Windows身份验证,delphi,login,windows-authentication,firebird2.5,dbexpress,Delphi,Login,Windows Authentication,Firebird2.5,Dbexpress,我是否可以使用Windows用户而不是使用SYSDBA和MASTERKEY凭据登录firebird数据库?如果是,请告诉我连接firebird数据库的方法 我正在使用DelphiXE3和Firebird 2.5。我需要在更新“受信任”的配置文件而不是此处指定的默认“本机”后,通过登录用户对用户进行身份验证: 这是我的代码: SQLConnection1.LoginPrompt := False; //SQLConnection1.Params.add('user_name='); //SQLC

我是否可以使用Windows用户而不是使用SYSDBA和MASTERKEY凭据登录firebird数据库?如果是,请告诉我连接firebird数据库的方法

我正在使用DelphiXE3和Firebird 2.5。我需要在更新“受信任”的配置文件而不是此处指定的默认“本机”后,通过登录用户对用户进行身份验证:

这是我的代码:

SQLConnection1.LoginPrompt := False;
//SQLConnection1.Params.add('user_name='); 
//SQLConnection1.Params.add('password='); 
SQLConnection1.Params.add('os authentication=True') ; 
SQLConnection1.Connected:= True
它仍然需要凭证

(V.2.1)从Firebird 2.1开始,Windows“受信任用户”安全性可以 用于在Windows主机上验证Firebird用户。这个 受信任用户的安全上下文被传递到Firebird服务器, 如果成功,则用于确定Firebird安全用户 名字

只需从DPB/SPB中省略用户和密码参数即可 自动导致应用Windows受信任用户身份验证, 几乎在所有情况下。有关详细信息,请参见下面的环境部分 例外情况


另外,看看这个问题-

如果未设置
TSQLConnection
对象的
User\u Name
参数
(User\u Name=)
,则使用Windows身份验证连接模式

同时在
firebird.conf
文件中设置
Authentication=mixed
或trusted,并重新启动firebird服务器服务

如果未在代码中设置
用户名
和“password”参数(代码中已注释),请在设计时添加它们。只需添加
用户名即可

如果要使用:

SQLConnection1.Params.add('user_name='); // this is enough
SQLConnection1.Params.add('password='); 
在设计时从SQLConnection.params中删除
用户名
密码
参数

注意:不要使用:

SQLConnection1.Params.Values['User_Name'] := '';
这只是从列表中删除参数

更新

这对我有用。正如您在firebird.conf中看到的,仅信任Autentication。 SQLConnection参数:用户名和密码为空。 并且SQLConnection已连接

试着重复这张照片


A我使用的是Delphi2010

您使用的是哪种数据库客户端-FireDAC、UniDAC、Interbase、ADO或。。。?得到一个具体的答案是至关重要的。我正在使用DbExpress。需要在不提供用户名和密码的情况下访问firebird数据库表数据。只想使用Windows身份验证来访问表。非常感谢。@MarkRotteveel,我做到了。但它被拒绝了:(我试图在这个问题上做到最好。@VictoriaMarotoSilva我是在向OP讲话,因为他在最初提问时应该这样做。我将自己添加到sec@Victoria我没有办法恢复已经做出的决定,我想两人也不能改变,但如果你真的想提起,我想你可以它位于META.stackexchange.net上。我知道如何使用ISC_用户和ISC_密码:C:\Pr~\bin>设置ISC_用户=user1 C:\Pr~\bin>设置ISC_密码=12345。如何向dpb添加新的ISC_dpb_受信任的身份验证参数?我需要使用什么语法?谢谢。@Vinod_cmdl读取dbExpress源代码,找到创建dpb的函数并检查它使用的字符串名称。Unified Interbase库使用“trusted_auth”名称-“Martin,我不想惹你。”不用担心。无论如何,我已经做了我本来应该做的事情,并用服务器的authentication=trusted尝试了我的代码。它无法连接,错误消息被引用。因此我删除了我的答案。@Val Marinov我试过了,但收到了这条消息“未定义您的用户名和密码。请让您的数据库管理员设置Firebird登录。“有什么帮助吗?如果他将用户名和密码设置为Windows环境变量,这将停止工作。我不确定DBX是否具有强制受信任身份验证所需的常量。但是,Unified Interbase确实有-我是否必须将Windows用户也添加到security2.fdb数据库或其他地方?我得到了“您的用户名和密码未定义。请让您的数据库管理员设置Firebird登录…”消息。@Vinod_cmdl否。