国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關(guān)注微信公眾號(hào)

創(chuàng)建 DB2 UDB 安全性插件的步驟
2006-12-13   

創(chuàng)建一個(gè) DB2 UDB 安全性插件需要 6 個(gè)步驟。下面的幾個(gè)小節(jié)將詳細(xì)解釋每個(gè)步驟:

db2secPlugin.h 和 gssapiDB2.h 是實(shí)現(xiàn)定制安全性插件所需的兩個(gè)頭文件。只有在構(gòu)建 GSS-API 插件時(shí)才需要 gssapiDB2.h 頭文件。圖 5 展示了在 Windows 系統(tǒng)上實(shí)現(xiàn)安全性插件所需的這兩個(gè)頭文件的位置。


圖 5. Windows 系統(tǒng)上插件頭文件的位置
Windows 系統(tǒng)上插件頭文件的位置

根據(jù)創(chuàng)建的是服務(wù)器插件、客戶機(jī)插件還是組插件,需要分別編寫以下 API 來初始化插件:

例如,可以這樣編寫 db2secServerAuthPluginInit API:


清單 1. db2secServerAuthPluginInit
SQL_API_RC SQL_API_FN db2secServerAuthPluginInit(
   db2int32             version,
   void*                server_fns,
   db2secGetConDetails* getConDetails_fn,
   db2secLogMessage*    logMessage_fn,
   char**               errormsg,
   db2int32*            errormsglen)
{
   struct userid_password_server_auth_functions_1
      *fns = (struct userid_password_server_auth_functions_1*) server_fns;
   condetails_fn = getConDetails_fn;
   logMessage_Fn = logMessage_fn;
   fns->version    = DB2SEC_API_VERSION;
   fns->plugintype = DB2SEC_PLUGIN_TYPE_USERID_PASSWORD;
   fns->db2secDoesAuthIDExist      = &is_user;
   fns->db2secFreeErrormsg         = &free_error_message;
   fns->db2secFreeToken            = &free_token;
   fns->db2secGetAuthIDs           = &getauthids;
   fns->db2secServerAuthPluginTerm = &terminate_plugin;
   fns->db2secValidatePassword     = &validatePassword;
   /* Example on how to use logMessage_fn */
   /* Will log the init successful information into db2diag.log at DIAGLEVEL 3 */
   (logMessage_Fn)(DB2SEC_LOG_WARNING,
                   "db2secServerAuthPluginInit successful",
                   strlen("db2secServerAuthPluginInit successful"));
   return DB2SEC_PLUGIN_OK;
}

DB2 調(diào)用裝載后的 db2secServerAuthPluginInit API 來初始化服務(wù)器插件庫。前面的代碼來自文件 txtserver.c,該文件在本文后面附帶的 zip 文件中。

除了初始化函數(shù)外,還需為服務(wù)器、客戶機(jī)和組插件實(shí)現(xiàn)一些插件 API。此外,還有一些用于用戶 ID/密碼身份驗(yàn)證和用于 GSS-API 身份驗(yàn)證的特定 API。圖 6、圖 7 和圖 8 描述了這些函數(shù)的功能。

注意:DB2 UDB 手冊(cè)有一節(jié)詳細(xì)描述了如何開發(fā)安全性插件,并解釋了安全性插件 API。那些細(xì)節(jié)超出了本文的范圍。本節(jié)只簡(jiǎn)單地對(duì)插件 API 做一個(gè)概述。


圖 6. 組成員查找插件
組成員查找插件
圖 7. 客戶機(jī)插件
客戶機(jī)插件
圖 8. 服務(wù)器插件
服務(wù)器插件

函數(shù)指針返回指向您實(shí)現(xiàn)的特定插件庫所需的所有 API 的指針。例如,對(duì)于組插件,它包含指向 db2secDoesGroupExist、db2secFreeErrormsg、db2secFreeGroupListMemory、db2secGetGroupsForUser 和 db2secPluginTerm API 的實(shí)現(xiàn)的指針。

本文后面附帶的 zip 文件中的 txtgroup.c 文件提供了一個(gè)例子,演示如何填充組插件庫的函數(shù)指針。下面是該代碼的一個(gè)片段。


fns->version = DB2SEC_API_VERSION;
fns->db2secDoesGroupExist      = &is_group;
fns->db2secFreeErrormsg        = &free_error_message;
fns->db2secFreeGroupListMemory = &free_group_list;
fns->db2secGetGroupsForUser    = &get_groups;
fns->db2secPluginTerm          = &terminate_plugin;

編寫好安全性插件后,根據(jù) DB2 實(shí)例將其編譯成 32 位或 64 位的文件。庫的名稱必須與插件名稱相同。并且,庫必須是有適當(dāng)?shù)奶囟ㄓ谄脚_(tái)的擴(kuò)展名的共享庫。例如,如果插件的名稱為 myPlugin,那么應(yīng)使用下面的擴(kuò)展名:

庫必須是線程安全的(可重入的),并且必須使用 C 鏈接(至少對(duì)初始化函數(shù)要使用 C 鏈接)。

必須將安全性插件庫放入特定的目錄:

在 Linux 和 UNIX 中,對(duì)于 64 位庫,也使用與前面類似的目錄,只是要使用子目錄名 ,而不是 。在 Windows 64 位實(shí)例中,32 位和 64 位插件都在相同的目錄中,但是 64 位插件將加上后綴 ‘64’,例如 myplugin64.dll。

注意:IBM 子目錄(在插件目錄下)是為 IBM 提供的缺省插件預(yù)留的。放在該目錄中的任何其他定制的插件都將被忽略。

在 8.2 版之前, 數(shù)據(jù)庫管理器配置參數(shù)指定位置和機(jī)制,通過它來執(zhí)行 CONNECT/ATTACH、組查詢和本地授權(quán)檢查。而在 8.2 版中有更多的配置參數(shù),從而為選擇身份驗(yàn)證選項(xiàng)提供了更大的靈活性。

表 2 提供了應(yīng)用于插件的數(shù)據(jù)庫管理器配置參數(shù)列表,并解釋了它們?nèi)绾螒?yīng)用于安全性插件。


表 2. 安全性插件數(shù)據(jù)庫管理器配置參數(shù)描述

參數(shù)名 描述
1 客戶機(jī)用戶 ID/密碼插件(CLNT_PW_PLUGIN) 如果這個(gè)值是在客戶機(jī)上設(shè)置的,并且服務(wù)器上的 AUTHENTICATION 參數(shù)被設(shè)置為 CLIENT,那么該參數(shù)指定用于在客戶機(jī)上執(zhí)行的身份驗(yàn)證的用戶 ID/密碼插件。如果這個(gè)值是在服務(wù)器上設(shè)置的,那么該參數(shù)指定用于實(shí)例操作(例如 db2start)授權(quán)檢查的用戶 ID/密碼插件。在數(shù)據(jù)庫服務(wù)器上本地發(fā)出的數(shù)據(jù)庫連接(本地連接)期間,也可以在數(shù)據(jù)庫服務(wù)器上使用客戶端插件
2 客戶機(jī) Kerberos 插件(CLNT_KRB_PLUGIN) 該參數(shù)的值指定用于客戶端身份驗(yàn)證和本地授權(quán)的 Kerberos 插件庫的名稱。當(dāng)使用 KERBEROS 或 KRB_SERVER_ENCRYPT 身份驗(yàn)證對(duì)客戶機(jī)進(jìn)行身份驗(yàn)證時(shí),將使用該插件。在 Windows 上缺省值是 IBMkrb5。在其他平臺(tái)上,缺省值是 NULL
3 組插件(GROUP_PLUGIN) 該參數(shù)的值指定用于組成員查找的組插件庫
4 用于本地授權(quán)的 GSS-API 插件(LOCAL_GSSPLUGIN) 當(dāng)數(shù)據(jù)庫管理器配置參數(shù) AUTHENTICATION 的值被設(shè)置為 GSSPLUGIN 或 GSS_SERVER_ENCRYPT 時(shí),該參數(shù)的值指定用于實(shí)例級(jí)本地授權(quán)的 GSS-API 插件庫的名稱。
GSSPLUGIN 表明服務(wù)器將只使用基于它熟悉的 GSS-API 插件進(jìn)行身份驗(yàn)證。
GSSPLUGIN_SERVER_ENCRYPT 表明服務(wù)器將另外接受加密的用戶 ID/密碼請(qǐng)求。這種類型主要是為向下兼容而提供的
5 服務(wù)器插件模式(SRV_PLUGIN_MODE) 該參數(shù)指定以 fenced 還是 unfenced 模式運(yùn)行。缺省值(惟一受支持的值)是 UNFENCED
6 服務(wù)器 GSS-API 插件列表(SRVCON_GSSPLUGIN_LIST) 該參數(shù)指定數(shù)據(jù)庫服務(wù)器支持的 GSS-API 插件庫的列表,列表中以逗號(hào)作為分隔符。這個(gè)列表只能包含一個(gè) Kerberos 插件。如果該參數(shù)值沒有設(shè)置,并且 AUTHENTICATION 被設(shè)置為 KERBEROS 或 KRB_SVR_ENCRYPT,那么將使用缺省的 DB2 Kerberos 插件(IBMkrb5)
7 服務(wù)器用戶 ID/密碼插件(SRVCON_PW_PLUGIN) 該參數(shù)的值指定用于服務(wù)器端身份驗(yàn)證的用戶 ID/密碼插件庫
8 服務(wù)器連接身份驗(yàn)證(SRVCON_AUTH) 該參數(shù)的值只用于連接。它覆蓋 AUTHENTICATION 中指定的身份驗(yàn)證方法。本地實(shí)例操作仍使用 AUTHENTICATION 中指定的操作。缺省值是 NOT_SPECIFIED
9 數(shù)據(jù)庫管理器身份驗(yàn)證(AUTHENTICATION) 該參數(shù)的值指定為了檢查本地實(shí)例授權(quán),用戶身份驗(yàn)證如何進(jìn)行,在哪里進(jìn)行。缺省值是 SERVER

表 3 展示了使用前面列出的配置參數(shù)啟用用戶 ID/密碼身份驗(yàn)證插件的步驟。


表 3. 啟用用戶 ID/密碼身份驗(yàn)證插件的步驟

客戶機(jī)上的步驟 服務(wù)器上的步驟
1 用客戶機(jī)插件的名稱更新 CLNT_PW_PLUGIN。
如果 CLNT_PW_PLUGIN 為空,那么將使用它的缺省值 IBMOSauthclient,這是 IBM 提供的插件
用服務(wù)器插件的名稱更新 SRVCON_PW_PLUGIN
2
將 SRVCON_AUTH 設(shè)置為一種系統(tǒng)身份驗(yàn)證類型(CLIENT、SERVER、SERVER_ENCRYPT、DATA_ENCRYPT 或 DATA_ENCRYPT_CMP),或?qū)?SRVCON_AUTH 設(shè)置為 NOT_SPECIFIED 并將 AUTHENTICATION 設(shè)置為一種系統(tǒng)身份驗(yàn)證類型。
如果 SRVCON_PW_PLUGIN 為空,那么將使用它的缺省值 IBMOSauthserver,這是 IBM 提供的插件

表 4 展示了使用前面列出的配置參數(shù)啟用組成員查找插件的步驟。


表 4. 啟用組成員查找插件的步驟

客戶機(jī)上的步驟 服務(wù)器上的步驟
1 用組插件的名稱更新 GROUP_PLUGIN。
如果 GROUP_PLUGIN 為空,那么將使用它的缺省值 IBMOSgroups,這是 IBM 提供的插件
用組插件的名稱更新 GROUP_PLUGIN。
如果 GROUP_PLUGIN 為空,那么將使用它的缺省值 IBMOSgroups,這是 IBM 提供的插件

表 5 展示了使用前面列出的配置參數(shù)啟用 GSS-API 身份驗(yàn)證插件的步驟。


表 5. 啟用 GSS-API 身份驗(yàn)證插件的步驟

客戶機(jī)上的步驟

服務(wù)器上的步驟

1 將插件庫放在客戶機(jī)插件目錄中 將插件庫放在服務(wù)器插件目錄中
2 可選:編目(catalog)一個(gè)數(shù)據(jù)庫表明客戶機(jī)將只使用一個(gè) GSS-API 插件進(jìn)行身份驗(yàn)證。例如:
一個(gè)客戶機(jī)上可以同時(shí)存在多個(gè)插件。在這種情況下,服務(wù)器將指出使用哪個(gè)插件
用受支持的插件名稱的有序列表更新 SRVCON_GSSPLUGIN_LIST。為了啟用 GSS-API 插件,可以: 為了啟用本地授權(quán):

表 6 展示了使用前面列出的配置參數(shù)啟用 Kerberos 身份驗(yàn)證插件的步驟。


表 6. 啟用 Kerberos 插件的步驟

客戶機(jī)上的步驟 服務(wù)器上的步驟
1 將插件庫放在客戶機(jī)插件目錄 將插件庫放在服務(wù)器插件目錄
2 用 Kerberos 插件的名稱更新 CLNT_KRB_PLUGIN。
用服務(wù)器 Kerberos 插件名稱更新 SRVCON_GSSPLUGIN_LIST
3 可選:編目一個(gè)數(shù)據(jù)庫表明客戶機(jī)將使用 Kerberos 插件進(jìn)行身份驗(yàn)證。例如: 將 SRVCON_AUTH 設(shè)置為 KERBEROS 或 KRB_SERVER_ENCRYPT,或?qū)?SRVCON_AUTH 設(shè)置為 NOT_SPECIFIED 并將 AUTHENTICATION 設(shè)置為 KERBEROS 或 KRB_SERVER_ENCRYPT


熱詞搜索:

上一篇:DB2 UDB 安全性插件概述
下一篇:DB2數(shù)據(jù)庫安全性全面介紹

分享到: 收藏
国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区
99久久精品免费| 91精品国产综合久久福利软件| 色综合久久久久综合体桃花网| 欧美色老头old∨ideo| 久久婷婷综合激情| 日韩中文字幕91| 99re66热这里只有精品3直播| 制服.丝袜.亚洲.另类.中文| 中文字幕日韩av资源站| 韩国一区二区视频| 欧美电影一区二区| 亚洲精品大片www| 91视视频在线观看入口直接观看www | 欧美日韩一区二区电影| 国产欧美日韩不卡| 麻豆精品视频在线观看视频| 欧美日韩一级片在线观看| 一区在线中文字幕| 国产激情一区二区三区四区| 欧美一区二区在线免费观看| 亚洲国产一区二区视频| 99re66热这里只有精品3直播 | 激情成人综合网| 91精品国产色综合久久| 亚洲成av人片在线观看无码| 91国在线观看| 樱花影视一区二区| 波多野结衣中文一区| 国产女主播一区| 成人做爰69片免费看网站| 欧美成人综合网站| 久久国产精品第一页| 日韩精品一区二区三区中文精品| 日韩中文字幕1| 这里只有精品视频在线观看| 亚洲aaa精品| 337p亚洲精品色噜噜| 色婷婷综合久久| 亚洲天堂av老司机| 色老汉一区二区三区| 亚洲一区二区三区自拍| 欧美午夜精品一区| 午夜天堂影视香蕉久久| 精品视频999| 免费在线观看视频一区| 日韩免费在线观看| 国产成人免费视频| 亚洲人吸女人奶水| 一本色道久久综合亚洲91 | 久久人人97超碰com| 黄色日韩三级电影| 日本一区二区免费在线 | 亚洲男人天堂av| 欧美亚洲免费在线一区| 亚洲成人1区2区| 2020国产成人综合网| 成人免费视频网站在线观看| 一区二区视频免费在线观看| 欧美丰满少妇xxxbbb| 国产一区二区三区免费看| 国产精品久线在线观看| 欧美日韩中文字幕精品| 国内精品免费在线观看| 亚洲欧洲99久久| 7777精品伊人久久久大香线蕉的| 国内精品不卡在线| 亚洲丝袜美腿综合| 亚洲一区二区美女| 精品理论电影在线观看 | 日韩视频一区在线观看| 国产精品18久久久久久久久| 亚洲另类中文字| 精品国产乱码久久久久久浪潮 | 亚洲视频在线观看一区| 欧美日韩国产免费| 国产传媒久久文化传媒| 亚洲国产精品一区二区久久| 久久久精品国产99久久精品芒果 | 欧美videos中文字幕| 99久久综合狠狠综合久久| 日本欧美在线观看| 一区二区三区四区视频精品免费| 欧美v日韩v国产v| 欧美偷拍一区二区| 99在线精品观看| 国产精品伊人色| 蜜臀久久99精品久久久久久9| 亚洲欧美另类久久久精品2019| 日韩美一区二区三区| 欧美美女直播网站| 色综合色狠狠综合色| 国产黄色成人av| 欧美a一区二区| 亚洲大尺度视频在线观看| 国产精品日韩精品欧美在线| 精品成a人在线观看| 91精品国产综合久久香蕉麻豆| 91最新地址在线播放| 国产91在线观看| 国模一区二区三区白浆| 日韩av一二三| 视频精品一区二区| 一个色妞综合视频在线观看| 自拍偷拍亚洲激情| 国产精品久99| 国产精品的网站| 国产精品国产a| 亚洲日本va午夜在线影院| 国产精品嫩草久久久久| 久久久久久9999| 久久久综合精品| 久久精品亚洲乱码伦伦中文 | 粉嫩一区二区三区性色av| 老汉av免费一区二区三区| 午夜婷婷国产麻豆精品| 五月激情综合婷婷| 奇米四色…亚洲| 九九在线精品视频| 国产一区二区三区高清播放| 九九九久久久精品| 国产精品18久久久久久久网站| 国产精品2024| 91在线国产观看| 欧美在线观看18| 欧美一区二区私人影院日本| 日韩午夜三级在线| 精品国产乱码久久久久久久| 国产午夜亚洲精品羞羞网站| 国产精品久久久久久一区二区三区| 国产欧美va欧美不卡在线| 国产精品福利一区| 亚洲一二三专区| 久久综合综合久久综合| 国产乱色国产精品免费视频| 成人av片在线观看| 91成人免费电影| 欧美一区二区免费观在线| 久久综合中文字幕| 国产精品久久久久久久久图文区 | 日韩欧美国产综合在线一区二区三区 | 捆绑变态av一区二区三区| 国产麻豆精品在线| 99精品偷自拍| 欧美大白屁股肥臀xxxxxx| 国产亚洲制服色| 亚洲综合在线第一页| 免费成人深夜小野草| 成人免费看黄yyy456| 欧美日韩高清不卡| 国产日韩欧美一区二区三区乱码 | 国内精品免费**视频| av网站免费线看精品| 欧美精品v日韩精品v韩国精品v| 欧美成人a∨高清免费观看| 国产精品久久网站| 免费成人在线网站| 91视频.com| 久久综合九色综合97婷婷女人| 综合网在线视频| 麻豆精品一区二区综合av| 色诱亚洲精品久久久久久| 日韩欧美电影一区| 亚洲最大成人综合| 国产成人8x视频一区二区| 欧美丰满嫩嫩电影| 亚洲色图欧美偷拍| 国产白丝网站精品污在线入口| 在线视频欧美区| 国产精品日韩精品欧美在线| 麻豆成人91精品二区三区| 91久久精品国产91性色tv| 久久亚洲欧美国产精品乐播| 婷婷中文字幕综合| 91视频.com| 日本一区二区三区在线不卡| 免费视频最近日韩| 欧美高清视频不卡网| 亚洲男人天堂一区| av福利精品导航| 久久久久88色偷偷免费| 久久99精品国产91久久来源| 欧美日韩三级视频| 一区二区三区蜜桃网| 成人一级视频在线观看| 久久精品视频在线免费观看| 日本aⅴ免费视频一区二区三区 | 99视频热这里只有精品免费| 欧美精品一区二区在线播放| 免费国产亚洲视频| 日韩一区二区免费视频| 亚洲成人第一页| 欧美午夜电影在线播放| 夜夜精品浪潮av一区二区三区| 97久久精品人人爽人人爽蜜臀| 中文字幕中文字幕一区| 一本一本久久a久久精品综合麻豆| 亚洲国产电影在线观看| 成人av电影在线观看| 国产精品电影一区二区| 一本色道亚洲精品aⅴ|