<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    當柳上原的風吹向天際的時候...

    真正的快樂來源于創造

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks

    #

         摘要: 權限系統是稍成規模的系統中一個必不可少的部分,操作的可否執行,流程的具體走向,業務的具體步驟都會涉及權限的處理。
    具體來說有兩種權限的控制方式:一種是等級權限控制方式,一種是角色權限控制方式。前者可用于范圍控制,適用于用戶權力大小不同的場合;后者可用于單點控制,適用于用戶權力多寡有異的場合。現實世界中,軍隊中官銜類似于等級權限控制,現代企業中各司其職的權力分配類似于角色控制。角色權限控制是把單項權限一項項的賦予用戶,如同現實世界中把具體職位一個個的賦予某個員工一樣。在他執行操作前,先看他是否擁有執行此操作的權限,如果有則執行,否則不執行。
    。。。。。
    權限子系統是企業應用中不可或缺的環節,它具體的權限控制方式有兩種:一種是等級權限控制方式,一種是角色權限控制方式,其他復雜的權限系統都可以由它們組合而來。

    由于業務控制的關系,權限子系統和其他業務子系統的最容易耦合在一起,久而久之會對程序的可讀性,可維護性帶來消極影響,而AOP恰好能幫助我們有效降低權限子系統和其他業務子系統的耦合,實現他們之間的離散化。因此,AOP值得我們認真掌握,尤其是其背后的  閱讀全文
    posted @ 2009-01-05 21:38 何楊 閱讀(2035) | 評論 (2)編輯 收藏

         摘要: 使用AOP完善簡單值權限系統,權限系列文章之三。

    如同一個成規模的公司一樣,對于一個成規模的應用來說,內中會存在著各種子系統以執行不同的功能,而且為了協調工作,它們往往是交織在一起,就像上一個版本中權限子系統與文檔處理子系統交織一樣。

    子系統交織是必要的,但子系統間過多過緊密的耦合并不合理。因為交織會增加軟件系統的熵值,使得系統隨著功能的增加和細化變得越來越復雜而難于控制,最后不得不推倒重來,給個人和公司帶來巨大的損失。這是軟件業普遍的問題,在國內公司和外包公司都不罕見。

    因此,在程序的編寫過程中,程序員必須有意識的減少子系統之間的交織,使它們離散化,利用Spring的AOP可以有效幫助我們做到這一點。對于簡單值權限系統,使用AOP進行子系統離散化的具體思路如下:

    1.將DocService中負責權限的代碼(屬性和函數)都分離,放置到一個專門的權限處理類PrivilegeService中。
    2.使用Spring的ProxyFactoryBean,做成DocService的代理,讓PrivilegeServi  閱讀全文
    posted @ 2009-01-02 16:54 何楊 閱讀(774) | 評論 (0)編輯 收藏

         摘要: 簡單值控制權限系統的改進,權限系列文章之二。

    上一講中簡單權限系統的權限控制值是寫在XML配置文件中的,如果需要調整這些值還需要修改配置文件,對于Web系統來說,此后還需要重新打包,測試和發布。這樣無法實現動態修改,即不修改程序代碼和不修改配置文件,在程序處于運行的狀態下也能改變權限的值。

    對于這樣的需求變更,我們可以改變權限子系統的具體實現并加入一些輔助類的支持,具體思路如下:
    1.要實現動態改變權限,那權限的值必須放在數據庫中,通過SQL語句來存取具體的值。
    2.存儲權限的表應該包含兩個字段,一個為權限名,它必須唯一;一個是權限值。
    3.應該用一個專門的類來負責權限的獲取,這個類為IDocService的實現類DocService所用。
    4.權限存取類和具體權限的名通過注入的方式放入DocService中。  閱讀全文
    posted @ 2009-01-02 12:55 何楊 閱讀(378) | 評論 (0)編輯 收藏

         摘要: 簡單值控制權限系統的設計,權限系列文章之一。

    在一個CMS系統中,用戶User可以通過接口IDocService向系統添加,刪除,更新各種文章Doc,現請你設計IDocService的一個實現類,這個類除了能完成接口指定的功能外,還要能實現權限控制。
    具體的權限控制就是:用戶User擁有一個privilegePoint的屬性,它代表著用戶的權限大小,當此值大于20時用戶能添加文章,大于40時能更新文章,大于60時能刪除文章。

    下面請看具體實現:  閱讀全文
    posted @ 2009-01-02 10:35 何楊 閱讀(464) | 評論 (1)編輯 收藏

    中文版:
    http://download2.bea.com/pub/platform/92/server920_zh_CN_win32.exe   

    確實是個好東西,難能可貴的是中文版,大家有空應該下載下來玩玩。
    posted @ 2008-12-25 08:29 何楊 閱讀(1444) | 評論 (1)編輯 收藏

    屏幕截圖一:


    屏幕截圖二:


    程序下載:
    http://www.tkk7.com/Files/heyang/StrutsWebController20081204153042.rar
    posted @ 2008-12-04 15:38 何楊 閱讀(615) | 評論 (0)編輯 收藏

         摘要: Oracle的偽列rownum可以標識一條數據的行號,它常用做分頁,起到MySql數據庫中limit語句同樣的作用。
    在使用rownum時,一個要特別注意的地方是Rownum是在查詢之后排序之前賦值的,不能用于在一次查詢中對行進行限制。要使用rownum對行集進行進行有效控制,必須使用子查詢。
      閱讀全文
    posted @ 2008-12-02 15:41 何楊 閱讀(393) | 評論 (0)編輯 收藏

    在WebApp中獲得XMLWebApplicationContext的步驟
    1.在Web.xml中配置上下文載入器.
    2.指定上下文載入器的配置文件.
    3.獲得應用上下文.

    1.在Web.xml中配置上下文載入器
    根據你的系統情況,你可以選擇兩種上下文載入器:ContextLoaderListener和ContextLoaderServlet.如果你的Web容器支持Servlet2.3標準或更高,你可以使用兩者,否則只能使用后者.
    ContextLoaderListener在Web.xml應該如下配置:

    <listener> 
         
    <listener-class>
              org.springframework.web.context.ContextLoaderListener
         
    </listener-class> 
    </listener> 

    ContextLoaderServlet在Web.xml應該如下配置:

    <servlet>
      
    <servlet-name>context</servlet-name>
      
    <servlet-class>
      org.springframework.web.context.ContextLoaderServlet
      
    </servlet-class>
      
    <load-on-startup>1</load-on-startup>
    </servlet>


    2.指定上下文載入器的配置文件

    不論你使用的那種上下文載入器,你都應該指明Spring配置文件的位置.如果沒有指定,上下文載入器將把/web-inf/application-Context.xml當作Spring配置文件。
    要指定Spring配置文件的位置,你可以在Servlet上下文設置contextConfigLocation參數來為上下文載入器指定一個或多個Spring配置文件(使用通配符或是用逗號隔開)。如下所示:

    <context-param>
        
    <param-name>
             contextConfigLocation
       
    </param-name>
       
    <param-value>
              /WEB-INF/cfg/bean.xml
       
    </param-value>
    </context-param>

     

    3.獲得應用上下文
    接下來我們就可以獲得ApplicationContext了,代碼如下:

    WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext); 

    在一個自啟動的Servlet中,我們可以這樣獲得它:

    public class InitialSystemServlet extends HttpServlet {
      
    public void init(ServletConfig config) throws ServletException {
        
    // 取得Spring的上下文
        WebApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(config.getServletContext());
        ..
      }

      
      ..
    }

    如果把獲得的上下文的地址給一個靜態引用,我們以后就可以在應用中的任意位置使用ApplicationContext了。

    posted @ 2008-11-24 23:19 何楊 閱讀(8641) | 評論 (1)編輯 收藏

    頁面展示:

    Tomcat工程下載:
    http://www.tkk7.com/Files/heyang/StrutsAdvanced20081124115121.rar
    posted @ 2008-11-24 11:56 何楊 閱讀(151) | 評論 (0)編輯 收藏

    僅列出標題
    共28頁: First 上一頁 20 21 22 23 24 25 26 27 28 
    主站蜘蛛池模板: 在线观看人成视频免费| 午夜成人免费视频| 国产亚洲av片在线观看16女人 | 亚洲一区二区三区写真| 国产a视频精品免费观看| 99久久精品国产亚洲| 50岁老女人的毛片免费观看 | 久久亚洲精品专区蓝色区| 久视频精品免费观看99| 亚洲第一页在线播放| 日本一区二区三区免费高清| 亚洲一区二区三区乱码在线欧洲| 免费无码AV片在线观看软件| 亚洲精品无码久久久久A片苍井空| 天天天欲色欲色WWW免费| 国产成人亚洲精品91专区高清| 成人伊人亚洲人综合网站222| 久久WWW免费人成—看片| 久久香蕉国产线看观看亚洲片| 男女午夜24式免费视频| 亚洲最大视频网站| 成全影视免费观看大全二| 黄页视频在线观看免费| 国产成人亚洲精品青草天美| 五月婷婷在线免费观看| 亚洲国产精品日韩av不卡在线| 亚洲国产精品无码久久久久久曰| 中文字幕免费在线看| 亚洲精品国产肉丝袜久久| 免费视频淫片aa毛片| 在线视频网址免费播放| 久久精品国产精品亚洲毛片| 在线精品免费视频无码的| 国产成人无码精品久久久久免费| 91亚洲国产成人精品下载| 日韩在线免费看网站| 中文无码成人免费视频在线观看| 亚洲最大的黄色网| 国产亚洲精久久久久久无码77777| 最近中文字幕电影大全免费版| 亚洲a∨无码精品色午夜|