下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、課堂筆記今天內(nèi)容投資分頁1.2.Shiro 權(quán)限框架投資投資的有兩個,一個是帳戶中心-投資管理-投資另外一個是,當產(chǎn)品成功后,就會跳轉(zhuǎn)到投資。關(guān)于分頁:當前頁每頁條數(shù)總條數(shù)總頁數(shù)使用分頁時,一般會創(chuàng)建一個 PageBean,它是用于當前頁顯示的內(nèi)容以及分頁相關(guān)的信息。項目中使用的是 spring data jpa,它的分頁產(chǎn)操作如何完成?ReitoryCrudReitory主要提供了crud 操作 save delete update. PagingAndSortingReJpaReitoryitory 主要提供了分頁與排序操作通過這個結(jié)構(gòu),JpaReitory 它具有以上接口提供的所有功能投
2、資業(yè)務(wù):ProductAccount 它代表的用戶的投資信息,出當前用戶的投資信息。投資操作就是從 ProductAccount 中查詢前端分析查看投資連接查看路由加載的頁面是 buying.html控制器是 buyingCtrl查看控制器在控制器中默認加載的操作問題 1:_service 它的值是什么?_service=getProductAccountBuying向服務(wù)器發(fā)送請求服務(wù)器端操作對于投資操作它是一個多條件查詢,分成兩部分完成無條件的分頁操作使用 spring data jpa 完成分頁現(xiàn)在使用的是 JpaReitory 提供的功能findAll(Pageable)需要參數(shù) Pa
3、geable,它代表的是分頁條件,可以使用geRequest(頁碼,每頁條數(shù))nefindAll(Pageable)方法的返回值是 Page 對象,它就是通過 Page 對象可以getContent()得到 List getTotalElements() 總條數(shù)所說的 PageBeangetTotalPages()總頁數(shù)注意:對于 p2p 項目,只需要將使用了一個 angularjs 的分頁工具到 views 下就可以。這四個數(shù)據(jù)是分頁相關(guān)的。totalItems 總條數(shù)currentPage 頁碼itemsPage 每頁條數(shù)maxSize 它是分頁框顯示的個數(shù)多條件的分頁操作如果是多條件的分
4、頁操作,可以使用能有JpaSpecificationExecutor,這個接口提供的主要功通過上面的展示發(fā)現(xiàn) JpaSpecificationExecutor 接口中提供的方法需要 Specification類型的參數(shù),這個 Specification 它代表的就是條件查詢今天使用的就是Page findAll(Specification sp,Pageable pb);操作步驟:publicerface JpaSpecificationExecutor T findOne(Specification spec);List findAll(Specification spec);Pagefin
5、dAll(Specificationspec, Pageable pageable);List findAll(Specification spec, Sort sort); long count(Specification spec);1.站擴展 JpaSpecificationExecutor 接口完善代碼Action得到請求參數(shù),處理請求參數(shù)Service調(diào)用 findAll(Specification sp,Pageable pb)關(guān)于 Specification 中重寫的方法參數(shù)作用JPA 規(guī)范中的,ROOT 查詢中的條件表達式、CriteriaQuery 條件查詢設(shè)計器、Crite
6、riaBuilder 條件查詢構(gòu)造器,而時,實現(xiàn)該方法用 JPA 去構(gòu)造對象查詢便可在使用復(fù)雜對象查詢ShiroShiro 介紹Shiro 是 apache 的一個權(quán)限框架,它的主要功能認證, 認證: authentication 可以簡單理解認證就是用戶是否登錄.: authorization用戶登錄后,它是否具限操作某些功能注意:shiro 框架它不認證及數(shù)據(jù)。對于一個基本權(quán)限操作:用戶表一個用戶可以具有多個角色角色表一個角色可以有多個權(quán)限,一個角色可以給多個用戶權(quán)限表一個權(quán)限可以賦予多個角色用戶與角色的關(guān)聯(lián)表角色與權(quán)限的關(guān)聯(lián)表總結(jié):用戶角色角色權(quán)限 都是多對多關(guān)系問題:shiro 框架如
7、何使用?Shiro 中有三個和Subject, SecurityManagerReaSubject:通過 subject 來執(zhí)行具體的功能,Subject 中提供 loginlogout Realm:在開發(fā)中一般會創(chuàng)建 realm,可以來定義具體的功能實現(xiàn)(認證,SecurityManager:它的主要作用是將 shiro 框架的 subjectrealm 整合到一起。)Shiro 入門案例在案例中,使用了 ini 文件來定義數(shù)據(jù)。前提:shiro 開發(fā)依賴如果只是 shiro 基本開發(fā) shiro-core如果與 web 整合shiro-web如果與 spring 整合 shiro-spri
8、ng使用 ehcache 緩存 shiro-ehcache為了方便 ,可以直接 shiro-all案例 1:1.創(chuàng)建一個 ini 文件2.編寫代碼案例 2:1.創(chuàng)建一個 ini 配置文件在這個配置文件中有一個自定義的 realm,開發(fā)代碼創(chuàng)建 realm自定義 realm 要實現(xiàn)一個接口 Realmpublic class MyRealm implements Realm / 認證操作的方法public AuthenticationInfo getAuthenticationInfo(AuthenticationToken token) throws AuthenticationExcepti
9、on / 1.得到用戶名與String username = (String) token.getPrincipal();char ch = (char) token.getCredentials(); String password = new String(ch);2.測試代碼案例 3ini 配置文件mainjdbcRealm=.apache.shiro.realm.jdbc.JdbcRealm.mboPooledDataSourcedataSour.jdbc.DriverdataSource.jdbcUrl=jdbc:/localhost:3306/shirodemo dataSourc
10、e.user=root/ 2.判斷用戶名與是否正確if (!tom.equals(username) throw new UnknownAccountException(用戶名錯誤);if (!123.equals(password) throw new IncorrectCredentialsException(錯誤);return new SimpleAuthenticationInfo(username, password, getName();/ realm 的名稱public String getName() return myrealm1;/ 判斷 token 類型publicsu
11、pports(AuthenticationToken arg0) return arg0 instanceof UsernamePasswordToken;測試代碼案例 4主要演示Ini 配置文件測試代碼實現(xiàn)關(guān)于 shiro 的 web 開發(fā)Shiro 與 web 整合,注意事項:必須導(dǎo)入 shiro-web 依賴Web.xml 文件中配置users tom=123,role1 rolesrole1=admin:add,admin:update,admin:delete,admin:select roles=user:selectdataSource.password=abcjdbcRealm
12、.dataSource=$dataSource securityManager.rea=$jdbcRealm需要配置一個 EnvironmentLoaderListener還需要配置一個 ShiroFilter會自動綁定到 ServletContext。簡單說,對于 Factory 創(chuàng)建,SecrityManager 的創(chuàng)建不需要在控制。在 servlet 中直接通過 SecurityUtils.getSubject()得到 Subject 使用就可以。問題:關(guān)于jdbcRealm 問題?默認執(zhí)行的表是 usersShiro 在 p2p 項目中使用Shiro 在實際開發(fā)中一般是與 spring
13、 整合。權(quán)限管理方案:Filter 實現(xiàn)粗粒度權(quán)限控制(url 級別)注解實現(xiàn)細粒度權(quán)限控制使用來控制權(quán)限硬編碼Spring 整合 shiro步驟:1. 在 web.xml 文件中配置一個 FiltershiroFilter.springframework.web.filter.DelegatingFiltroxy.apache.shiro.web.env.EnvironmentLoaderListenershiroFilter.apache.shiro.web.servlet.ShiroFiltershiroFilter/*注意事項1.filter-name 的值就是在 spring 中配置
14、的 bean 的名稱2.shiroFilter 它必須在 struts2 的 filter 之前2.配置 spring 的配置文件shiroFilter/*細粒度權(quán)限控制注解使用案例查詢產(chǎn)品只有 findAllProduct 權(quán)限才可以修改產(chǎn)品要求必須具有admin 角色的用戶才可以。使用 jpa 來描述 many-to-many使用 Adm來描述用戶這段代碼的意思是由對方來使用 RoleM來描述角色使用 PermisM來描述權(quán)限手動創(chuàng)建角色與select * from t_admin;inserto t_admin values(2,456,fox); select * from t_rol
15、e;- 添加角色inserto t_role values(1,admin); inserto t_role values(2,user);select * from admin_role;- 給 tom 用戶賦予角色 admininserto admin_role values(1,1);- 給 fox 分配角色 userinserto admin_role values(2,2); select * from t_permis;- 添限 findAllProductinserto t_permisvalues(1,findAllProduct);select * from role_permis;shiro 注解使用操作步驟1.配置 spring 的配置文件2.需要給認證的用戶使用自定義
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于應(yīng)急物資儲備清單
- 生物技術(shù)產(chǎn)業(yè)研發(fā)合作意向書
- 草藥研學(xué)課程設(shè)計
- 2025版電子商務(wù)平臺消費者權(quán)益保護集體合同3篇
- 定制家具生產(chǎn)與安裝合同協(xié)議
- IT技術(shù)支持與服務(wù)模式創(chuàng)新探討
- 醫(yī)療器械企業(yè)產(chǎn)品追溯與管理系統(tǒng)建設(shè)
- 2025年度施工安全防護用品采購合同2篇
- 2024年玩具研發(fā)設(shè)計采購合同范本3篇
- 二零二五年加油站便利店連鎖經(jīng)營合同3篇
- JGJ-16--民用建筑電氣設(shè)計規(guī)范
- 義務(wù)教育數(shù)學(xué)課程標準(2022年版)
- 倉央嘉措詩全集
- 海洛斯操作手冊(說明書)
- 建筑勞務(wù)公司組織機構(gòu)示意圖
- 深基坑施工危險源辨識控制措施
- GB/T 35222-2017地面氣象觀測規(guī)范云
- 文史資料選輯合訂本(46卷本第1輯至第136輯)
- 內(nèi)蒙古旅游行業(yè)發(fā)展現(xiàn)狀、發(fā)展中存在的問題及解決對策分析
- 竣工驗收湖北省市政基礎(chǔ)設(shè)施工程竣工驗收質(zhì)量評價報告
- 鄂爾多斯盆地測井地質(zhì)分層和曲線特征課件
評論
0/150
提交評論