雲盤權限管理方法
2023-12-07 23:06:01 2
雲盤權限管理方法
【專利摘要】一種雲盤權限管理方法,該雲盤權限管理方法對用戶的登入登出進行認證,對文件下載、共享等進行認證,考察是否有權限進行此項操作,該管理方法設置了五個模塊,該五個模塊為用戶認證模塊、文件認證模塊、API認證模塊、數據認證操作模塊和底層的認證緩存資料庫;認證緩存資料庫根據不同任務的認證操作的頻繁性,採用MySQL存儲用戶認證模塊時所需的驗證碼、用戶編碼ID信息,利用Redis存儲API認證模塊所需的關鍵字,即用戶編碼ID和IP組合,以支持快速查詢操作。
【專利說明】雲盤權限管理方法
【【技術領域】】
[0001]本發明涉及網際網路在線存儲【技術領域】,尤其涉及可以對文件進行存儲、訪問、備份、共享等操作的雲盤權限管理方法。
【【背景技術】】
[0002]在網際網路時代,雲盤已經成為一種主流的在線存儲方式,用戶可以直接通過瀏覽器進行文件的存儲、訪問、備份、共享等文件管理功能。特別地,對於家庭雲盤,由於不同用戶和不同的文件的操作操作權限各不相同,故需要對用戶、文件和底層的接口調用進行層層權限認證,以保障用戶的權限避免漏洞的注入。
[0003]傳統的WEB開發中,為了包裝RPC(Remote Procedure Call)的請求應用XML-RPC技術,但是XML-RPC只能使用有限的數據類型種類和一些簡單的數據結構。現有的比較常見的另一種技術SOAP,是基於簡單對象訪問協議(SOAP, Simple Object Access Protocol)所開發的雲盤權限管理系統,是一種基於XML的結構化數據交換,它可以和多種傳輸協議綁定,包括:超文本傳輸協議(HTTP)、簡單郵件傳輸協議(SMTP),它偏向於面向活動,有嚴格規範和標準,包括事物、安全的各個方面,強調操作方法和操作對象的分離。該基於SOAP所開發雲盤權限管理系雖然可以滿足已有穩定業務的權限認證要求,但是SOAP協議屬於複雜協議,很難充分發揮HTTP本身的緩存能力。
[0004]面向服務的架構(Service Oriented Architecture, S0A)和雲計算是目前工業界和學術界都非常關注的兩個領域,二者都是為了提供基於網絡的服務,實現資源的共享,只不過服務的顆粒度和層次不同。當前SOA的標準技術和協議主要包括簡單對象訪問協議S0AP、Web 服務描述語言(the Web Services Descript1n Language, WSDL) ,Web 服務業務處理執行語言(Web Services Bus iness Proeess Execut1n Language, WS-BPEL)等,均是基於遠程過程調用(Remote procedure Call, RPC)式的Web服務忽略了 web賴以成功的重要性一簡單。REST思想對已有的web服務進行重構,作為一種新興的技術,開始在業界和學術界受到越來越廣泛的關注。
[0005]基於SOAP等的Web服務實現是在HTTP之上的遠程過程調用。這樣做使HTTP成為用於傳輸龐大XML負載的協議,而真正的描述信息在XML裡,最終的服務變得太過複雜,難於調試。REST是分布式超媒體系統的架構風格,在分布式超媒體中,文本、超連結、音頻以及其它多媒體資源存儲在網絡之上,利用超連結互相連接.REST風格架構意味著,對數據的操作信息(Get, Head, put, Delete, Post)都在HTTP方法裡;面向資源的架構意味著,客戶端對伺服器哪些數據進行操作的信息都在URI裡。二者結合起來非常強大,通過HTTP請求的第一行就能基本了解客戶端要做什麼,HTTP請求的其餘部分只是具體細節.面向資源的架構具有可尋址性、無狀態行、連通性和統一接口的特徵。
【
【發明內容】
】
[0006]本發明針對以上情況提出了一種前端採用Jersey框架創建RESTful WebServices,設計和實現了對用戶、文件、調用接口等多方面權限認證的認證框架,針對不同業務權限,對家庭雲盤的底層分布式文件進行安全的增刪改查等操作。
[0007]本發明所涉及的雲盤權限管理方法對用戶的登入登出進行認證,對文件下載、共享等進行認證,考察是否有權限進行此項操作,該管理方法設置了五個模塊,該五個模塊為用戶認證模塊、文件認證模塊、API認證模塊、數據認證操作模塊和底層的認證緩存資料庫;認證緩存資料庫根據不同任務的認證操作的頻繁性,採用MySQL存儲用戶認證模塊時所需的驗證碼、用戶編碼ID等信息,利用Redis存儲API認證模塊所需的關鍵字,即用戶編碼ID和IP組合等,以支持快速查詢操作。
[0008]用戶認證模塊認證步驟為:1、進入登錄界面;2、輸入用戶名、密碼以及驗證碼;3、判斷輸入是否為空;4、否,則進入判斷輸入驗證碼是否正確;5、正確,則進入判斷用戶密碼是否正確;6、正確,則顯示合法用戶相應權限;7、進入系統;
[0009]文件認證模塊認證步驟為:規劃數據集;劃分資源;設計URI ;
[0010]API認證模塊認證步驟為:每一個前臺發送接口調用命令,都需要核實該用戶對此API的調用權限,通過判定認證緩存資料庫中的用戶登陸信息(userid和登陸時分發給用戶的token)是否匹配為依據;
[0011]數據認證操作模塊的實現過程如下:
[0012]1、實現通過需要獲取編碼id的用戶email的值,用戶email的哈希字符串及設定的過期時間,為用戶分配ID。
[0013]2、實現通過用戶的email的值獲取已分配的用戶的ID。
[0014]3、實現通過用戶的編碼ID和IP位址組合為用戶分配令牌號Token。
[0015]4、實現通過用戶的編碼ID和IP位址獲取已分配的用戶的令牌號。
[0016]5、實現通過用戶的編碼ID和IP組合與用戶的Token進行匹配,判斷是否為認證用戶。
[0017]6、實現緩存資料庫中的用戶ID和IP的組合KEY與用戶Token的增刪改接口。
[0018]其中所述API認證模塊的認證方法主要包括以下兩種實現方式:1、首先通過調用isValidateUser接口來認證用戶是否合法,依據用戶ID,用戶登陸時系統分配給用戶的令牌和IP位址與緩存資料庫的用戶登陸信息進行匹配,若判定為合法用戶則返回True作為標識符號,非法用戶返回False標示符;2、其次通過調用getlpAddr接口來獲取請求IP,即通過客戶端發送的請求request來調用接口請求,最後返回請求的Ip地址,以返回伺服器應答。
[0019]其中規劃數據集,文件權限認證模塊的數據集主要包括,文件名、文件ID、文件父節點ID、文件路徑;劃分資源,文件權限管理表是一次性資源,即只能獲取該資源,不能修改和刪除,若要對文件進行刪除、共享只有通過權限管理認證後才能執行;設計URI,設基地址{base}為http://localhost:8001/,則文件認證模塊的URI設計如下:
[0020](I)共享文件:{base}/share/share_files
[0021](2)取消文件共享:{base}/share/cancel_share
[0022](3)取消文件共享:{base}/share/update_idcode
[0023](4)下載共享文件:{base}/share/public
[0024](5)下載文件:{base}/share/downloadFile
[0025](6)檢查文件類型:{base}/share/checkType
[0026](7)批量下載文件:{base}/share/package_download
[0027]以share目錄標識所有關於文件共享認證請求的入口,追加不同功能的標識目錄例如share_files表示共享文件,cancel_share表示取消共享,public表示公開共享文件等,將對文件的共享認證操作信息封裝在URI中,以不同路徑標識文件共享的不同操作請求。
[0028]文件認證模塊需要核實用戶的對文件操作的權限,並通過設定文件的共享密碼等方式保證對文件進行保護,除此以外由於文件的下載訪問並發量不大,可以將文件的基本信息同用戶的基本信息一樣存儲在MySQL資料庫中。
[0029]LDA(Lab of Da-cent&Comp-Arc)家庭數據中心為本發明依託的應用系統,其中,權限認證框架需要實現從文件、資料庫表等存取控制客體出發進行權限管理,將權限定義到模塊的操作級別上,按大的功能而不是按操作劃分模塊。當用戶進入某模塊之後,在執行某操作時,需要獲取用戶對該模塊的權限集,判斷該用戶是否擁有該操作的權限。此時,考慮到一個用戶在網站上不同的操作就會導致頻繁的權限認證,因此必須考慮將認證信息放在可能快速存儲的介質中,以避免因過多的I/O操作而造成的延遲。
[0030]由於雲盤本身主要的業務操作就是增刪改查,抽象資源容易,而REST強調面向資源,只要求操作的對象可以抽象為資源即可以採用REST架構風格。REST (REpresentat1nalState Transfer)架構模式,因為家庭雲盤中的每個用戶和文件都可以抽象為資源,分配一個URI和它對應。同時,在REST中使用統一接口處理資源,與資料庫CRUD操作(Create、Read,Update 和 Delete) —樣,可以用 P0ST、GET、PUT 和 DELETE 處理 REST 資源。而且每個REST請求都是孤立的,請求中包含了所需的全部信息。REST支持不同的通信數據格式,本系統主要採用JSON格式進行數據傳輸。由於底層為分布式文件系統,集群都不需要考慮上下文和會話的保持,極大的提高了系統的可伸縮性。
[0031]故採用RESTful Web的方式極大的提高了系統的可伸縮性。
[0032]本發明主要結合家庭網盤的業務要求,基於RESTful Web架構模式,提出一種針對用戶、文件、調用接口等多方面權限認證的認證方案,實現了針對不同業務權限,對家庭雲盤的底層分布式文件進行安全的增刪改查。
【【專利附圖】
【附圖說明】】
[0033]圖1是本發明雲盤管理方法的架構圖;
[0034]圖2是本發明用戶認證模塊流程圖。
【【具體實施方式】】
[0035]下面將結合本發明附圖和【具體實施方式】對本發明雲盤權利管理方法進行進一步的詳細說明。
[0036]請參考附圖1,其中示出了雲盤管理方法的架構圖,本發明針對以上情況提出了一種前端採用Jersey框架創建RESTful Web Services,設計和實現了對用戶、文件、調用接口等多方面權限認證的認證框架,針對不同業務權限,對家庭雲盤的底層分布式文件進行安全的增刪改查等操作。
[0037]本發明所涉及的雲盤權限管理方法對用戶的登入登出進行認證,對文件下載、共享等進行認證,考察是否有權限進行此項操作,該管理方法設置了五個模塊,該五個模塊為用戶認證模塊、文件認證模塊、API認證模塊、數據認證操作模塊和底層的認證緩存資料庫;認證緩存資料庫根據不同任務的認證操作的頻繁性,採用MySQL存儲用戶認證模塊時所需的驗證碼、用戶編碼ID等信息,利用Redis存儲API認證模塊所需的關鍵字,即用戶編碼ID和IP組合等,以支持快速查詢操作。
[0038]其中用戶認證模塊是權限管理系統中的一個重要部分,它要求能夠實現管理員對用戶的管理,是對權限管理系統控制資源的主體進行有效管理的一個系統工具。根據對需求、業務流程和家庭數據中心系統的分析,用戶認證管理的表結構如下,通過存儲用戶的創建日期,用戶郵箱,ID,密碼,令牌,驗證碼等基本信息來標識不同的用戶及其狀態信息。
[0039]本發明依照REST體架構風格和RESTful Web Services的設計步驟,結合本系統的需求,將按以下步驟具體實現用戶管理功能所需服務。
[0040]規劃數據集,用戶權限認證模塊的數據集主要包括,用戶名、密碼、郵箱、令牌等其他用戶信息。
[0041]劃分資源,用戶認證管理表是一次性資源,即只能獲取該資源,不能修改和刪除,只能通過用戶基本信息操作和用戶的登陸退出系統操作來影響它;或者單個用戶資源可由系統管理員進行創建、修改、刪除。
[0042]設計URI,即作用域信息,採用路徑變量表達層次結構的方式組織作用域信息,設基地址{base}為http://localhost:8001/,則用戶認證模塊的URI設計可以參照具體案例如下:
[0043](I)獲取驗證碼:{base}/auth/pre_login
[0044](2)用戶登陸:{base}/auth/login
[0045](3)檢查登陸:{base}/auth/checL_login
[0046](4)退出系統:{base}/auth/log_out
[0047](5)設置新密碼:{base}/auth/forget_password
[0048]以auth目錄標識所有關於用戶認證請求的入口,追加不同功能的標識目錄例如pre_login為申請驗證碼,login為用戶登陸等,將對用戶的認證操作信息封裝在URI中,以路徑標識用戶登陸認證的不同操作請求。
[0049]具體的認證步驟請參考附圖2,認證步驟為:1、進入登錄界面;2、輸入用戶名、密碼以及驗證碼;3、判斷輸入是否為空;4、否,則進入判斷輸入驗證碼是否正確;5、正確,則進入判斷用戶密碼是否正確;6、正確,則顯示合法用戶相應權限;7、進入系統;
[0050]用戶認證模塊主要是核對用戶的基本信息,通過驗證碼的輸入大量重複請求和暴力訪問等情況,為成功登陸的用戶分配token,以便於對用戶後期操作進行權限判斷。
[0051]文件認證模塊:家庭數據中心最核心的資源就是文件,每個用戶或者用戶組都可以在雲盤上上傳和共享資源。對文件的增刪改查若不進行認證操作,很可能導致文件的物理層丟失和一致性受損。因此文件認證模塊也是本系統一個不可獲取的重要部分。
[0052]文件認證模塊的實現步驟為:
[0053]其中規劃數據集,文件權限認證模塊的數據集主要包括,文件名、文件ID、文件父節點ID、文件路徑;劃分資源,文件權限管理表是一次性資源,即只能獲取該資源,不能修改和刪除,若要對文件進行刪除、共享只有通過權限管理認證後才能執行;設計URI,設基地址{base}為http://localhost:8001/,則文件認證模塊的URI設計如下:
[0054](I)共享文件:{base}/share/share_files
[0055](2)取消文件共享:{base}/share/cancel_share
[0056](3)取消文件共享:{base}/share/update_idcode
[0057](4)下載共享文件:{base}/share/public
[0058](5)下載文件:{base}/share/downloadFile
[0059](6)檢查文件類型:{base}/share/checkType
[0060](7)批量下載文件:{base}/share/package_download
[0061]以share目錄標識所有關於文件共享認證請求的入口,追加不同功能的標識目錄例如share_files表示共享文件,cancel_share表示取消共享,public表示公開共享文件等,將對文件的共享認證操作信息封裝在URI中,以不同路徑標識文件共享的不同操作請求。
[0062]文件認證模塊需要核實用戶的對文件操作的權限,並通過設定文件的共享密碼等方式保證對文件進行保護,除此以外由於文件的下載訪問並發量不大,可以將文件的基本信息同用戶的基本信息一樣存儲在MySQL資料庫中。
[0063]API認證模塊認證步驟為:每一個前臺發送接口調用命令,都需要核實該用戶對此API的調用權限,通過判定認證緩存資料庫中的用戶登陸信息(userid和登陸時分發給用戶的token)是否匹配為依據;
[0064]其中所述API認證模塊的認證方法主要包括以下兩種實現方式:1、首先通過調用isValidateUser接口來認證用戶是否合法,依據用戶ID,用戶登陸時系統分配給用戶的令牌和IP位址與緩存資料庫的用戶登陸信息進行匹配,若判定為合法用戶則返回True作為標識符號,非法用戶返回False標示符;2、其次通過調用getlpAddr接口來獲取請求IP,即通過客戶端發送的請求request來調用接口請求,最後返回請求的Ip地址,以返回伺服器應答。
[0065]數據認證操作模塊的實現過程如下:
[0066]1、實現通過需要獲取編碼id的用戶email的值,用戶email的哈希字符串及設定的過期時間,為用戶分配ID。
[0067]2、實現通過用戶的email的值獲取已分配的用戶的ID。
[0068]3、實現通過用戶的編碼ID和IP位址組合為用戶分配令牌號Token。
[0069]4、實現通過用戶的編碼ID和IP位址獲取已分配的用戶的令牌號。
[0070]5、實現通過用戶的編碼ID和IP組合與用戶的Token進行匹配,判斷是否為認證用戶。
[0071]6、實現緩存資料庫中的用戶ID和IP的組合KEY與用戶Token的增刪改接口。
[0072]後臺系統的服務應用與資料庫進行數據的增刪改查就由數據認證操作模塊來具體實現,包括對數據原表建模型、對MySQL資料庫的讀寫和對Redis資料庫進行讀寫操作。
[0073]本發明的框架採用RESTfuL Web模式,無狀態請求可以由任何可用伺服器回答,特別適用於底層為分布式文件系統的雲計算環境。同時整個雲盤管理框架將用戶、文件資源按照Reslful技術要求對認證服務的架構、資源模型、認證流程、表示層進行了具體的設計和實現,實現了快捷訪問,系統使用HTTP協議對外暴露服務,客戶只需通過瀏覽器即可以正常訪問。此外,通過虛擬化、
[0074]分布式結構將伺服器資源進行最大化的處理優化,保證提供高效的1和高可靠的服務,具有良好的擴展性和可靠性。
[0075]以上所述,僅是本發明較佳實施例而已,並非對本發明作任何形式上的限制,雖然本發明以較佳實施例揭露如上,然而並非用以限定本發明,任何熟悉本專業的技術人員,在不脫離本發明技術方案範圍內,當可利用上述揭示的技術內容做出些許變更或修飾為等同變化的等效實施例,但凡是未脫離本發明技術方案內容,依據本發明技術是指對以上實施例所作的任何簡單修改、等同變化與修飾,均屬於本發明技術方案的範圍內。
【權利要求】
1.一種雲盤權限管理方法,其特徵在於,該雲盤權限管理方法對用戶的登入登出進行認證,對文件下載、共享等進行認證,考察是否有權限進行此項操作,該管理方法設置了五個模塊,該五個模塊為用戶認證模塊、文件認證模塊、API認證模塊、數據認證操作模塊和底層的認證緩存資料庫;認證緩存資料庫根據不同任務的認證操作的頻繁性,採用MySQL存儲用戶認證模塊時所需的驗證碼、用戶編碼ID信息,利用Redis存儲API認證模塊所需的關鍵字,即用戶編碼ID和IP組合,以支持快速查詢操作; 其中用戶認證模塊認證步驟為:1、進入登錄界面;2、輸入用戶名、密碼以及驗證碼;3、判斷輸入是否為空;4、否,則進入判斷輸入驗證碼是否正確;5、正確,則進入判斷用戶密碼是否正確;6、正確,則顯示合法用戶相應權限;7、進入系統; 其中文件認證模塊認證步驟為:規劃數據集;劃分資源;設計URI ; 其中API認證模塊認證步驟為:每一個前臺發送接口調用命令,都需要核實該用戶對此API的調用權限,通過判定認證緩存資料庫中的用戶登陸信息(userid和登陸時分發給用戶的token)是否匹配為依據; 其中數據認證操作模塊的實現過程如下:1、實現通過需要獲取編碼id的用戶email的值,用戶email的哈希字符串及設定的過期時間,為用戶分配ID ;2、實現通過用戶的email的值獲取已分配的用戶的ID ;3、實現通過用戶的編碼ID和IP位址組合為用戶分配令牌號Token ;4、實現通過用戶的編碼ID和IP位址獲取已分配的用戶的令牌號;5、實現通過用戶的編碼ID和IP組合與用戶的Token進行匹配,判斷是否為認證用戶;6、實現緩存資料庫中的用戶ID和IP的組合KEY與用戶Token的增刪改接口。
2.根據權利要求1所述雲盤權限管理方法,其特徵在於,其中所述API認證模塊的認證方法主要包括以下兩種實現方式:1、首先通過調用isValidateUser接口來認證用戶是否合法,依據用戶ID,用戶登陸時系統分配給用戶的令牌和IP位址與緩存資料庫的用戶登陸信息進行匹配,若判定為合法用戶則返回True作為標識符號,非法用戶返回False標示符;2、其次通過調用getlpAddr接口來獲取請求IP,即通過客戶端發送的請求request來調用接口請求,最後返回請求的Ip地址,以返回伺服器應答。
3.根據權利要求1所述雲盤權限管理方法,其特徵在於,該文件認證模塊中中的規劃數據集:文件權限認證模塊的數據集主要包括,文件名、文件ID、文件父節點ID、文件路徑;其中的劃分資源:文件權限管理表是一次性資源,即只能獲取該資源,不能修改和刪除,若要對文件進行刪除、共享只有通過權限管理認證後才能執行;其中的設計UR1:設基地址{base}為http://localhost:8001/,則文件認證模塊的URI設計如下:
(1)共享文件:{base}/share/share_files (2)取消文件共享:{base}/share/cancel_share (3)取消文件共享:{base}/share/update_idcode (4)下載共享文件:{base}/share/public (5)下載文件:{base}/share/downloadFile (6)檢查文件類型:{base}/share/checkType (7)批量下載文件:{base}/share/package_download。
【文檔編號】H04L29/08GK104283875SQ201410508852
【公開日】2015年1月14日 申請日期:2014年9月28日 優先權日:2014年9月28日
【發明者】須成忠, 沈慧 申請人:深圳市中科無軟體有限公司