Delphi Firebird 2.5中的Windows身份验证
我是否可以使用Windows用户而不是使用SYSDBA和MASTERKEY凭据登录firebird数据库?如果是,请告诉我连接firebird数据库的方法 我正在使用DelphiXE3和Firebird 2.5。我需要在更新“受信任”的配置文件而不是此处指定的默认“本机”后,通过登录用户对用户进行身份验证: 这是我的代码: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
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否。