版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、wordpress權限管理剖析-角色和職能該日志由 天空從何開始 于2012年02月28日發(fā)表在wordpress分類下, 你可以發(fā)表評論,并在保留原文地址及作者的情況下引用到你的網(wǎng)站或博客。 | +復制鏈接 轉(zhuǎn)載請注明: wordpress權限管理剖析-角色和職能關鍵字: wordpress, wordpress權限管理自從wordpress 2.0引入角色和職能(Roles and Capabilities),就廢棄了用戶級別(User Level approach)。主要內(nèi)容1.什么是角色和職能(Role and Capabilities2.職能和后臺管理菜單3.檢查一個用戶的職能4.添
2、加自定義用戶角色5.添加自定義用戶職能6.wordpress職能類(Capability Classes1.什么是角色和職能(Role and Capabilities?跟其他的CMS,web應用一樣,wordpress有一套內(nèi)建的權限驗證系統(tǒng),驗證一個特定的用戶是否有足夠的權限去執(zhí)行相應的行為(action.用戶(Users)被區(qū)分為不同的角色(Role),每種角色被分配相應的職能(Capabilities或Permissions)。wordpress 使用角色的概念來讓博客的所有者對用戶進行權限控制。博客所有者可以控制用戶寫文章、創(chuàng)建頁面、管理插件、管理主題,以及管理其他用戶的權限。博客所
3、有者可以通過該工具分配用戶權限。下面是wordpress 默認的角色:Administrator 系統(tǒng)管理員Editor 編輯,可以發(fā)布和編輯自己及他人發(fā)布的文章Author 作者,可以發(fā)布和管理他們自己的文章Contributor 投稿者,他們可以投稿,和管理他們的文章,但是不能發(fā)布。Subscriber 訂閱者,可以閱讀評論和接收newsletter這種角色和職能模式的權限控制系統(tǒng)比使用用戶級別來控制權限更加的有彈性,易于擴展。你甚至可以添加更多的角色,而不需要修改默認的設置。wordpress 插件API允許你添加,移除,改變系統(tǒng)的角色和職能。也就是說,我們可以添加角色,添加職能,重新分
4、配職能給角色。2.職能和后臺管理菜單幾乎每一個插件都需要在管理界面添加至少一個用戶配置插件的頁面。因而,你需要添加自定義的管理菜單。wordpress里有一系列的方法可以幫你完成這個功能:1234567891011121314/ add top level menuadd_menu_page(page_title, menu_title, capability, handle, function, icon_url;/ add sub-menu pagesadd_submenu_page(parent, page_title, menu_title, capability, file/hand
5、le, function;/ add Options sub-menuadd_options_page(page_title, menu_title, capability, handle, function;/ add Management sub-menuadd_management_page(page_title, menu_title, capability, handle, function;/ add Pages sub-menuadd_pages_page( page_title, menu_title, capability, handle, function;/ add Po
6、sts sub-menuadd_posts_page( page_title, menu_title, capability, handle, function;/ add Appearances sub-menuadd_theme_page( page_title, menu_title, capability, handle, function;你可能已經(jīng)發(fā)現(xiàn),上面這些函數(shù)都有一個必須的參數(shù)capability。這意味著登錄到后臺的用戶需要有相應的職能才能夠看到這里添加的菜單選項。 如果你的主題或者插件有一個選項頁,合理的 控制對該頁的訪問時非常重要的。例如,如果有一個主題選項頁,你需要使
7、用edit_themes這個職能(capability,如果是一個插件選項 頁,就需要使用edit_plugins職能。另一種方法是為插件和主題選項也使用manage_options這個職能.3.檢查一個用戶的職能檢查當前用戶是否有足夠的職能去執(zhí)行某些行為(action),可以用current_user_can(函數(shù)。123if ( current_user_can( $capability / do something if the current user has $capability這個函數(shù)還接收一個可選的參數(shù):文章ID($post_id,為了讓你能夠檢查當前用戶是否能夠?qū)δ骋黄恼禄?/p>
8、某一個頁面($post_id進行操作(如:編輯,刪除等):/ check whether the current can edit a post with the ID $post_idcurrent_user_can( edit_post, $post_id ;另一個函數(shù)author_can( 可以用于檢查某個post(可能是文章或者頁面或者媒體)的作者是否有相應的職能。123if ( author_can( $post, $capability / do something if the author of the post $post has $capability4.添加自定義用戶角色
9、有時候有必要為你的插件或者整合程序,添加新的角色到系統(tǒng)中。比如說,你編寫了一個文檔分享的插件,用戶注冊后可以上傳文檔,而且我們只允許他們上傳文檔。這時最好的方法就是添加一個新的自定義角色:12345add_role( $role_name, $display_name, $capabilities ;/ for example:add_role( document_uploader, Document Uploader, array( organize_document ;這個函數(shù)添加了一個具有一系列職能的新角色。上面的例子添加了一個新的角色叫做“document_uploader”,顯示名稱
10、“Document Uploader”及一個職能的集合(在這個例子中,職能名稱organize_document。當你在處理創(chuàng)建,編輯,上傳文檔請求時,你需要使用current_user_can(來檢查當前用戶是否被允許執(zhí)行相應操作。123if ( current_user_can( organize_gallery / do something被分配了這個角色的用戶職能organize_document,但是不能edit_posts或者publish_posts.如果你想要移除一個角色,可以使用 remove_role( :1remove_role( photo_uploader ;當插件使用者決定卸載你的插件時,你需要給插件使用者提供一個選項來移除這個自定義的角色。但是,如果你想要給已經(jīng)存在的用戶添加職能應該怎么辦?5.添加自定義用戶職能還是拿上面的例子來說,假如我們的文檔分享插件,需要讓已有用戶角色(如administrator,editor擁有
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年視頻會議、信息發(fā)布系統(tǒng)項目可行性研究報告
- 北京印刷學院《研究方法與學術寫作》2023-2024學年第一學期期末試卷
- 北京印刷學院《廣播新聞》2023-2024學年第一學期期末試卷
- 2024年絕緣耐溫薄膜項目可行性研究報告
- 關于學生實習報告模板六篇
- 2024年甜柿椒類項目可行性研究報告
- 2025年度工傷賠償個人協(xié)議執(zhí)行流程全文3篇
- 親子共讀心得體會15篇
- 2024年屯溪區(qū)牙科醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點附帶答案
- 2025年度高新技術企業(yè)研發(fā)借款合同范本及范文3篇
- 法治副校長進校園教育
- 北京市石景山區(qū)2023-2024學年七年級上學期期末考試數(shù)學試卷(含答案)
- 2025版寒假特色作業(yè)
- 江西省吉安市2023-2024學年高一上學期1月期末考試政治試題(解析版)
- 國內(nèi)外航空安全形勢
- 零售業(yè)發(fā)展現(xiàn)狀與面臨的挑戰(zhàn)
- 2024年版汽車4S店商用物業(yè)租賃協(xié)議版B版
- 《微觀經(jīng)濟學》習題(含選擇題)
- 微信小程序云開發(fā)(赤峰應用技術職業(yè)學院)知到智慧樹答案
- 2024-2025學年上學期福建高二物理期末卷2
- 2024-2025年第一學期小學德育工作總結:點亮德育燈塔引領小學生全面成長的逐夢之旅
評論
0/150
提交評論