隨筆-295  評論-26  文章-1  trackbacks-0

          五?FAQ?

          5.1 FAQ

          1. Q: ? 能否脫離Spring框架來使用Acegi?
            A:? 雖然Acegi 沒有要求必須使用Spring Framework,但事實上Acegi很大程度上利用了Spring的IOC和AOP,很難脫離Spring的單獨使用。
          2. Q:? Acegi有對xfire的支持嗎?
            A: 有,詳見http://jira.codehaus.org/browse/XFIRE-389
          3. Q: 為何無論怎么設(shè)置都返回到登陸頁面無法成功登陸?
            A:? 檢查登陸頁面或登陸失敗頁面是否只有ROLE_ANONYMOUS權(quán)限

          5.2 Acegi 補(bǔ)習(xí)班

          要了解Acegi,首先要了解以下幾個重要概念:

          1. Authentication
            Authentication對象包含了principal, credentials 和 authorities(authorities要賦予給principal的),同時也可以包含一些附加的認(rèn)證請求信息,如TCP/IP地址和Session id等。
          2. SecurityContextHolder
            SecurityContextHolder包含ThreadLocal私有屬性用于存取SecurityContext, SecurityContext包含Authentication私有屬性, 看以下一段程序


            public void getSecurityContextInformations() {
            ??SecurityContext sc = SecurityContextHolder.getContext();
            ??Authentication auth = sc.getAuthentication();
            ??Object principal = auth.getPrincipal();
            ??if (principal instanceof UserDetails) {
            ???//用戶密碼
            ???String password = ((UserDetails) principal).getPassword();
            ???//用戶名稱
            ???String username = ((UserDetails) principal).getUsername();
            ???//用戶權(quán)限
            ???GrantedAuthority[] authorities = ((UserDetails) principal).getAuthorities();
            ???for (int i = 0; i < authorities.length; i++) {
            ????String authority = authorities[i].getAuthority();
            ???}
            ??}
            ??Object details = auth.getDetails();
            ??if (details instanceof WebAuthenticationDetails) {
            ???//用戶session id
            ???String SessionId = ((WebAuthenticationDetails) details).getSessionId();
            ??}
            ?}
          3. AuthenticationManager
            通過Providers驗證在當(dāng)前 ContextHolder中的Authentication對象是否合法。
          4. AccessDecissionManager
            經(jīng)過投票機(jī)制來審批是否批準(zhǔn)操作
          5. RunAsManager
            當(dāng)執(zhí)行某個操作時,RunAsManager可選擇性地替換Authentication對象
          6. Interceptors
            攔截器(如FilterSecurityInterceptor,JoinPoint,MethodSecurityInterceptor等)用于協(xié)調(diào)授權(quán),認(rèn)證等操作


          大盤預(yù)測 國富論
          posted on 2007-09-12 14:46 華夢行 閱讀(153) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 恩施市| 黑龙江省| 东明县| 永清县| 呼伦贝尔市| 毕节市| 浦江县| 西乌| 定安县| 嵩明县| 三河市| 寻乌县| 库尔勒市| 苏州市| 弋阳县| 嘉鱼县| 柳江县| 平果县| 洛阳市| 万年县| 垦利县| 长乐市| 和林格尔县| 高尔夫| 柏乡县| 仁怀市| 永城市| 米林县| 东至县| 德惠市| 华阴市| 临海市| 克什克腾旗| 山阳县| 梧州市| 迭部县| 莱阳市| 陆河县| 玛多县| 嘉义市| 固阳县|