- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
pymssql
模块声称支持 Kerberos 身份验证(和委派),但我似乎无法启用它。
我正在运行的客户端是在 Windows 上。我需要通过反向数据库代理进行双跳连接。客户端、代理和数据库都是域的一部分。当我尝试连接 SQL Server Manager 时,我成功了。但是当我尝试连接 pymssql
Python 中的模块不起作用。如果我直接从客户端连接到数据库,我就可以让 Kerberos 身份验证正常工作。但同样,当我尝试通过代理时,它失败了。
这让我相信 Kerberos 身份验证有效,但委派(双跳)无效。
根据section on FreeTDS我应该能够在 C:/freetds.conf
创建一个文件,并且它应该从那里读取连接信息。我似乎无法以任何有意义的方式验证这一点。另外,根据the freetds schema我应该能够添加一个参数启用 gssapi 委托(delegate)
,该参数在启用时(默认情况下关闭)允许 Kerberos 委托(delegate)。
底线:我希望在 Windows 上为 pymssql 启用 Kerberos 委派(以便双跳正常工作)。
<小时/>目前,我已经在 C:/freetds.conf
创建了一个文件,并尝试了几种配置它的方法。
[global]
enable gssapi delegation = on
和
[global]
enable gssapi delegation = true
最佳答案
这个问题很容易回答,其根源在于 FreeTDS 的一个缺点。你没有做错任何事。
如果我们看一下 FreeTDS 的 GSS-API C 代码,我们会在 lines 307 to 308 中看到
if (tds->login->gssapi_use_delegation)
gssapi_flags |= GSS_C_DELEG_FLAG;
在设置委托(delegate)标志时读取您的配置参数。
由于您使用的是 Windows,并且 Windows 使用自己的 GSS-API 风格,即 SSPI,因此我们看一下该 C 代码:lines 273 to 278做
status = sec_fn->InitializeSecurityContext(&auth->cred, NULL, auth->sname,
ISC_REQ_CONFIDENTIALITY | ISC_REQ_REPLAY_DETECT
| ISC_REQ_CONNECTION | ISC_REQ_ALLOCATE_MEMORY,
0, SECURITY_NETWORK_DREP,NULL, 0, &auth->cred_ctx, &desc, &attrs, &ts);
如您所见,上下文标志不在变量中,而是直接传递。既不评估配置参数,也不评估 ISC_REQ_DELEGATE
已通过。
这就是您遇到的问题。您现在有两个选择:
旁注:这两个代码部分有一些我根本不喜欢的东西:
ISC_REQ_CONFIDENTIALITY | ISC_REQ_REPLAY_DETECT
和GSS_C_REPLAY_FLAG | GSS_C_INTEG_FLAG
。仅当您需要进一步的运输安全(此处未采用)时才有必要。我强烈建议也在这里提出一些问题。
关于python - 使用 pymssql 的 Kerberos 委派(双跳),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29513673/
我正在尝试使用 nx 在图中找到一些特定节点(比方说 l 节点)的 1 跳、2 跳,如果需要,k 跳邻居。 single_source_dijkstra_path_length. 每个步骤的时间复杂度
假设在下一段中我的光标位于第一句中的第一个are上(希望我可以突出显示它,但我不能这样...... )。按两次 ff 后,第一句话就会傻瓜,然后of 。再按下去我将一事无成。 Some people
给定一个无向图,一个起始顶点和一个结束顶点。求出从源到汇的步行次数(这样一个顶点可以被多次访问)正好涉及 h 跳。例如,如果图形是三角形,则具有 h 跳的此类路径的数量由第 h 个 Jakobstah
我正在制作 Winston Wolf 的交互式 map 。我有一张世界地图,每个大陆都可以点击并显示该大陆的国家。当我点击非洲大陆时,页面会跳转到非洲国家(如您所料)。我的问题是,我可以阻止它跳跃吗?
这是我的第一个问题,所以如果我问错了,我很抱歉。 在我的实验中,多个 android 设备使用 WiFi Direct 连接。为了利用无线 tx 的广播特性,所有设备都加入一个多播组来交换它们的信息。
我最近开发了一个 WCF Facade 服务。我是 WCF 的新手,无法理解安全实现部分。 服务如下: 一个 asp.net 公共(public)网站有一个 WCF 客户端,它访问: DMZ 中的 W
序言: 当问楼梯问题时,通常给定的允许步幅数组是 [1,2,3] 在 SO 上看到很多相同问题的例子,比如 n-steps-with-1-2-or-3-steps-taken-how-many-way
我是一名优秀的程序员,十分优秀!