原文:https://www.sqlite.org/c3ref/set_authorizer.html
int sqlite3_set_authorizer(
?sqlite3*,
? int(*xAuth)(void*,int,const char*,const char*,const char*,const char*),
?void *pUserData
);
該函數(shù)將注冊一個授權的回調(diào)函數(shù)到一個指定的數(shù)據(jù)庫句柄,第一個參數(shù)指定了數(shù)據(jù)庫句柄。當SQL 語句被sqlite3_prepare或者她的變體sqlite3_prepare_v2,sqlite3_prepare16,sqlite3_prepare166_v2等函數(shù)編譯的時候,就會調(diào)用該回調(diào)函數(shù)。在不同的編譯點上,執(zhí)行不同的操作,授權回調(diào)函數(shù)將被執(zhí)行,并且返回當前的操作是否合法(At various points during the compilation process,as logic is beingcreated to perform various actions ,the authorizer callback is invoked to seeif those actions are allowed).如果回調(diào)函數(shù)返回SQLITE_OK,表示允許執(zhí)行該操作,SQLITE_IGNORE表示不允許該指定的操作,但是允許編譯,SQLITE_DENY將會返回一個錯誤,并且拒絕該操作的執(zhí)行。如果回調(diào)函數(shù)返回其他的值,而不是上面三種類型的其中一種,sqlite3_prepare_v2函數(shù)將會觸發(fā)一個錯誤信息(then the sqlite3_prepare_v2() or equivalent call that triggered theauthorizer will fail with an error message.)
SQLITE_OK 允許SQL執(zhí)行
SQLITE_DENY 拒絕SQL執(zhí)行
SQLITE_IGNORE 允許SQL執(zhí)行,但是嘗試讀取記錄集會返回NULL,嘗試寫入記錄集會被忽略
授權回調(diào)函數(shù)的第一個參數(shù),將會由sqlite3_set_authorizer的第三個函數(shù)設置進去。第二個函數(shù)是一個整型的操作碼,指定了哪些操作是被允許的。第三到第六個參數(shù)是一個以零為結束符的字符串,這三個參數(shù)包含了哪些額外的操作細節(jié)是被授權允許的。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文題目:SQLite編譯期授權回調(diào)Compile-TimeAut-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://www.rwnh.cn/article18/dohcgp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、外貿(mào)建站、網(wǎng)頁設計公司、域名注冊、網(wǎng)站建設、動態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容