[原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架

          實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架

          最近項目使用Acegi作為安全框架的實現,效果不錯,就寫了這篇文章作為總結.

          對于任何一個完整的應用系統,完善的認證和授權機制是必不可少的。在基于SpringFramework的WEB應用中,
          我們可以使用Acegi作為安全架構的實現。本文將介紹如何在基于Spring構架的Web應用中使用Acegi,并且詳細介
          紹如何配置和擴展Acegi框架以適應實際需要。

          文章和代碼下載:

          http://www.aygfsteel.com/Files/youlq/Acegi.zip


          注意:許多朋友在部署上遇到一些麻煩,所以我將可以部署的完整的war文件傳上來,注意:java代碼在acegi-sample.war\WEB-INF 目錄下,例子需要Mysql,建庫腳本在acegi-sample.war\db目錄下。

          acegi-sample.part1.rar
          acegi-sample.part2.rar
          acegi-sample.part3.rar
          acegi-sample.part4.rar

          附注:

          有些朋友詢問我如何部署文中的例子,在此再次說明一下(文章中已經有提到):

          Mysql的建表腳本在db目錄下
          為了減小體積,已經將WEB-INF\lib下的依賴包刪除,請自行下載以下包,并拷貝至WEB-INF\lib下:
          spring-1.2.4.jar
          acegi-security-0.8.3.jar
          aopalliance-1.0.jar
          c3p0-0.9.0.jar
          commons-logging-1.0.4.jar
          ehcache-1.1.jar
          log4j-1.2.8.jar
          mysql-connector-java-3.1.10-bin.jar
          oro-2.0.8.jar

          提示:
          acegi-security-0.8.3.jar
          aopalliance-1.0.jar
          c3p0-0.9.0.jar
          commons-logging-1.0.4.jar
          ehcache-1.1.jar
          log4j-1.2.8.jar
          oro-2.0.8.jar
          可以在acegi-security-0.8.3.zip所帶的acegi-security-sample-contacts-filter.war中找到。
          spring-1.2.4.jar
          mysql-connector-java-3.1.10-bin.jar
          要分別到springframework和mysql網站下載。



          posted on 2005-12-06 10:49 一餐三碗 閱讀(50071) 評論(72)  編輯  收藏 所屬分類: 教程

          評論

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2005-12-11 19:04 rockyzhang  回復  更多評論   

          對方法的自定義權限控制
          對URL的自定義權限控制
          這個有沒有相關的一點代碼或者提示呢?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2005-12-12 08:57 一餐三碗  回復  更多評論   

          由于目前我沒有遇到這種需求,因此沒有仔細考慮過這方面代碼,不過通過我的例子代碼相信會對你有很大幫助的.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2005-12-12 11:55 海珠江奮  回復  更多評論   

          一直有個疑問.acegi的靠聲明方式來做安全訪問的和分配權限的.
          如果是客戶需要自定義權限的話.該怎么辦呢.沒有理由讓客戶來做配置吧

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2005-12-12 13:14 一餐三碗  回復  更多評論   

          文章里面已經解決了這個問題.配置信息基本是在數據庫中.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2005-12-16 15:20 吳淦  回復  更多評論   

          好,經典!

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2005-12-20 17:49 Feiing  回復  更多評論   

          關于數據庫擴展實現, 可以參考

          http://starcraft.blogdriver.com/starcraft/1089862.html



          http://www.hibernate.org.cn/viewtopic.php?t=17538

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-01-07 15:30 一餐三碗  回復  更多評論   

          好些朋友通過email和我交流,我將把一些朋友的問題和我的解答陸續貼出來。

          來自ligangdu@21cn.com的朋友問:
          -----------------------------------------------------
          為什么在訪問acegi-sample的時候會自動顯示login.jsp頁面呢,我看了web.xml,其中沒有設置welcome-file。是不是因為在“authenticationProcessingFilterEntryPoint”中設置了“<property name="loginFormUrl"><value>/login.jsp</value></property>”?
          -----------------------------------------------------
          答:是的。

          來自mechiland@gmail.com的朋友問:
          -----------------------------------------------------
          有一個疑問就是:例子中的控制只能到方法級別,能不能到數據級別?
          例如:readOnlyUser cannot call ContactManager.delete方法
          editUser 可以調用ContactManager.edit方法
          但是受限的編輯用戶只能調用edit方法中的某些參數,例如,訂單號從1-100的訂單。

          不知道Acegi能否在數據權限的控制上也有解決辦法?
          -----------------------------------------------------
          答:這個問題我在文章的總結部分有提到:
          <!--在本文的示例程序中我們只對業務對象(ContactManager)進行安全保護,對業務領域對象(Contact)的訪問并沒有作限制,這是由于在Acegi框架中采用ACL(訪問控制列表)技術實現這個功能,這使得一旦我們的業務領域對象數量很多的話,效率將變得很低,因此我們將對業務領域對象訪問控制的代碼放在業務對象的業務方法中。-->
          說實話,這個問題我還沒有找到很合適的方法解決,acegi提供的acl技術在性能上會有很大的問題,當然,如果數據量很小的話,也可以嘗試.不過在大部分的應用場景我想這種機制是不夠完美的.也許可以通過AOP技術對方法的參數和返回值進行攔截和過濾.可能以后有時間再深入研究一下.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-01-10 16:30 bzshow  回復  更多評論   

          客戶需要自定義權限的話
          可以繼承AbstractSecurityInterceptor.java,
          當然還要修改一些類, 具體可以參考源碼

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-02-11 20:40 soncheng  回復  更多評論   

          運行出現提示:

          [WARN,Configurator,main] No configuration found. Configuring ehcache from ehcache-failsafe.xml found in the classpath: jar:file:D:/acegi/xmnms/WEB-INF/lib/ehcache-1.1.jar!/ehcache-failsafe.xml

          StandardWrapper[/xmnms:default]: Loading container servlet default

          StandardWrapper[/xmnms:invoker]: Loading container servlet invoker

          HttpConnector[8080] Starting background thread

          [WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1f10a67: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286

          [WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1694eca: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286

          [WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1220b36: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286

          [WARN,LoggerListener,HttpProcessor[8080][2]] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@13515e: RemoteIpAddress: 127.0.0.1; SessionId: 771B3D44CEAAA2B004CB305F5E4D7286


          不能驗證:

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-02-12 12:52 sailer  回復  更多評論   

          下載的例子中的控制只能到方法級別,例如:readOnlyUser cannot call ContactManager.delete方法。但是我試了,用readonly登錄進去后仍可以進行刪除操作,與root用戶沒有任何區別,這是為什么啊?
            另外,root用戶與readonly用戶配置的權限不同,在配置文件中如何(就是說root可以進行Delete操作,readonly不能進行Delete操作在配置文件中哪處體現?)體現?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-02-13 15:34 xmlbjtu  回復  更多評論   

          我怎么下載的包中只有6個JSP文件,其它都沒有了,是不是要自己建。代碼看文檔寫。哪兒有完整的包可以下載。謝謝了。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-02-13 19:41 一餐三碗  回復  更多評論   

          @xmlbjtu
          @soncheng
          @sailer
          我重新上傳了可以部署的完整的war文件,再試一下。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-03-16 19:41 James Ma  回復  更多評論   

          用戶的查詢,除了cache外,有沒有其它機制?為cluster環境,cache不支持同步.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-03-18 20:52 一餐三碗  回復  更多評論   

          @James Ma
          cluster環境我沒有試過,可以考慮采用支持cluster環境的cache實現替代ehcache,或者修改acegi代碼加入cluster支持.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-03-29 09:32 gavin  回復  更多評論   

          問一個問題:acegi的認證方式可以配置么?就像JAAS那樣可以通過LoginContext來調用不同的LoginModule,來實現不同方式的認證,比如登錄時可以通過數據庫來校驗,或者通過windowsNT的用戶來校驗,acegi是否支持?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-03-30 09:52 一餐三碗  回復  更多評論   

          Acegi可以通過配置不通的AuthenticationProvider來調用不同的認證方式實現. Acegi自帶以下認證方式實現(這些類均實現AuthenticationProvider接口):
          AnonymousAuthenticationProvider
          AuthByAdapterProvider
          CasAuthenticationProvider
          DaoAuthenticationProvider
          JaasAuthenticationProvider
          PasswordDaoAuthenticationProvider
          RememberMeAuthenticationProvider
          RemoteAuthenticationProvider
          RunAsImplAuthenticationProvider
          X509AuthenticationProvider

          在我的例子中使用了
          AnonymousAuthenticationProvider
          DaoAuthenticationProvider
          這兩種.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-05-09 17:15 xxxxxx  回復  更多評論   

          <form action="j_acegi_security_check" method="POST">

          登陸的時候是怎么處理的 這一句看不懂action="j_acegi_security_check" ??
          eclipsehibernate@hotmial.com

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-05-10 10:19 hard  回復  更多評論   

          在那有它的源碼亞net.sf的那個,sourceforge上面的是org且不能編譯過去,(符號有問題的)

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-05-10 16:41 一餐三碗  回復  更多評論   

          @xxxxxx
          標準格式,呵呵,沒什么道理的.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-05-10 16:43 一餐三碗  回復  更多評論   

          @hard
          這個例子采用的是acegi-security-0.8.3這個版本,請下載對應的版本編譯.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-05-21 11:26 irene  回復  更多評論   

          我下載之后,打開的PDF是亂碼:(

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-07-20 14:44 freshman  回復  更多評論   

          用jdbcDaoImpl里的那種sql去驗證,應該是有sql注入問題吧

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-07-21 08:14 一餐三碗  回復  更多評論   

          @freshman
          sql注入問題是由采用字符串拼接的方式構造sql語句所產生的,在這個例子里沒有采用這種方式.

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-08-24 15:12 溫柔一刀5  回復  更多評論   

          一餐三碗能不能升級到1.0版本,便于學習,是試了一下,由于一些類在1.0版本連類名字都改了,我不熟,所以不知道改成什么了?能否花點時間升下?非常感謝!

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-10-25 09:25 一餐三碗  回復  更多評論   

          @溫柔一刀5

          呵呵,我也一直想做這件事情,可是沒有時間啊,要知道寫教程真的很花時間的。不過我建議在沒有更好的文章之前可以下載我這篇文章的對應代碼仔細看看,重要的是在于理解acegi的設計思想,理解之后我想升級就不是難事了。

          # re: [原創]實戰Acegi:/login.jsp*= 2006-10-28 19:14 ACEGI  回復  更多評論   

          您好,我想向您請教下Acegi:/login.jsp*=ROLE_ADMIN *是什么意思啊??

          /testpages/*.jsp=ROLE_ANONYMOUS,ROLE_PARTICIPANT,ROLE_RA,ROLE_ADMIN 如果沒有*呢?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-11-02 09:14 一餐三碗  回復  更多評論   

          @ACEGI

          *是通配符啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2006-12-27 01:58 夢秋雨  回復  更多評論   

          對照著例子,以及SpringSide的配置,終于看完了。對Acegi了解加深了。非常感謝作者。

          對照SpringSide,看到了一種擴展方式,實現基于角色的權限控制(RBAC)。實現起來也還是很簡單的。將jdbcImpl配置修改如下:

          <bean id="jdbcDaoImpl"
          class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
          <property name="dataSource" ref="dataSource"/>
          <property name="usersByUsernameQuery">
          <value>
          select loginid,passwd,1 from ss_users where status='1' and loginid = ?
          </value>
          </property>
          <property name="authoritiesByUsernameQuery">
          <value>
          select u.loginid,p.name from ss_users u,ss_roles r,ss_permissions
          p,ss_user_role ur,ss_role_permis rp where u.id=ur.user_id and
          r.id=ur.role_id and p.id=rp.permis_id and
          r.id=rp.role_id and p.status='1' and u.loginid=?
          </value>
          </property>
          </bean>

          這樣在authoritiesByUsernameQuery查詢中就把Role聯系進來了。

          以后有空可以好好分析一下。呵呵

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-01 11:26 一餐三碗  回復  更多評論   

          感謝夢秋雨的評論,其實這篇文章的代碼有點陳舊(畢竟是基于0.8.3版本的)而且演示的功能也是不夠全面,實際上在我后面開發的項目里面已經采用acegi全面實現了認證和各種資源(web resource、url、service method、root的特殊角色)的授權功能,一直想更新這篇教程就是沒時間,不過基本的思路這篇教程已經交代的很清楚了,我相信如果認真、完整的看完教程應該對acegi的原理能夠基本掌握,應用到自己的實際項目中去也是易如反掌的。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-26 17:16 tiannet  回復  更多評論   

          為什么我用root和readonly登錄沒任何區別呢,
          所有的操作都能做。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-26 17:26 一餐三碗[匿名]  回復  更多評論   

          @tiannet

          看看log信息,應該有異常

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-27 08:50 tiannet  回復  更多評論   

          沒打印出什么錯誤日志,郁悶的很:(

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-27 09:05 tiannet  回復  更多評論   

          我運行在JDK1.5+Tomcat5.5下,
          應該不會有問題吧?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-27 10:05 一餐三碗  回復  更多評論   

          @tiannet
          應該沒有問題,我的新項目就是用jdk1,5+Tomcat5.5,你再看看有沒有WARN或者ERROR的日志信息

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-01-29 11:01 tiannet  回復  更多評論   

          沒有哦,謝謝你的熱情回復:)
          什么時候出新版的呢?
          要能提供攔截URL的就好了^_^

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-02 17:35 Rocky  回復  更多評論   

          你好,能否加我的QQ,31498473?謝謝(一餐三碗)

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-03 22:40 一餐三碗  回復  更多評論   

          @Rocky
          對不起,我不用QQ的,有問題可以在這里提出來,我盡量回答

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-09 15:05 gtb  回復  更多評論   

          非常感謝你的文檔和代碼對我的幫助非常大!!!祝你心情愉快,賺大錢 :)

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-09 19:16 tzjz  回復  更多評論   

          你好,我對acegi 還不是很熟,成功的將你的實例發布,
          但發現一個問題 ,當我直接從地址欄輸入http://localhost:8080/bugTrace/contactlist.jsp
          也能進去,該怎么解決這個問題??謝謝

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-09 19:30 tzjz  回復  更多評論   

          還不是anonymousProcessingFilter
          沒有起作用呀?該怎么辦?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-17 21:31 llllllllllllllllllllllllll0000000000000000  回復  更多評論   

          請問下:
          我們一般的b/s系統中都要做個權限管理的東西,幾乎每個系統中都要建立“資源”“用戶”,“角色“”的東西,還要在根據業務需要建立acl,,是不是acegi用了,就可以不用在寫代碼做權限這部分了。
          謝謝。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-19 09:53 一餐三碗  回復  更多評論   

          @llllllllllllllllllllllllll0000000000000000
          基本上可以大大減少和集中權限代碼,但是對于實例級權限控制我個人認為Acegi無能為力,因為Acegi 通過 ACL 實現實例級權限控制,但是在性能和效率上有很大問題,目前無法應用到實際項目中去。不過換一個角度考慮:實例級權限控制應該是業務相關的,也是可以認為是業務代碼,這樣就沒必要把這塊代碼獨立出來了。

          相關討論可以參考JavaEye上的討論,搜索一下有很多,偷懶的話可以看看這篇:
          http://www.javaeye.com/post/165965

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-03-19 11:30 lllllllllllllllllllllllll0000000000000000   回復  更多評論   

          @一餐三碗

          謝謝老兄。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架[未登錄] 2007-03-20 13:41 夢秋雨  回復  更多評論   

          對于根據url中的參數的值,或者方法參數的值來判斷用戶是否有權限訪問特定資源的需求,似乎目前想來已經實現的只是個acl。然而acl卻又有著性能上的缺陷。所以這個地方是不是可以自己加入一個模塊,結合規則引擎,做方法參數或者url參數級別的訪問控制。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-04-18 11:57 李賓  回復  更多評論   

          現在不能下載了啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-04-19 12:14 邊緣  回復  更多評論   

          @tiannet
          我用root和readonly登錄同樣沒有任何區別,極度郁悶啊。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-04-19 13:03 shijh  回復  更多評論   

          我用root和readonly登錄同樣沒有任何區別,極度郁悶啊。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-05-08 01:09 njcgf  回復  更多評論   

          我下載了文件,用mysql建立數據庫,為什么還是不能正常登錄?
          我的環境是myeclipse5+tomcat5.5.20+mysql
          步驟就是import war文件 利用myeclipse的dataexplor建立mysql數據庫連接
          mysql的用戶名和密碼都是root , 同時修改了配置文件里面的datasurce中用戶密碼為root,然后run on server
          就是提交以后不能正常登錄
          請指教,謝謝!

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-05-08 10:40 一餐三碗  回復  更多評論   

          @njcgf
          你的這種情況我沒有試過,建議你單獨將war文件部署到tomcat上面試一下,看一下有沒有異常,如果正常說明你的開發環境有問題。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-05-09 22:54 監聽器  回復  更多評論   

          比較實用,謝謝了

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-05-26 10:57 njcgf  回復  更多評論   

          <bean id="anonymousProcessingFilter" class="net.sf.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
          <property name="key"><value>foobar</value></property>
          <property name="userAttribute"><value>anonymousUser,AUTH_ANONYMOUS</value></property>
          </bean>

          <bean id="anonymousAuthenticationProvider" class="net.sf.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
          <property name="key"><value>foobar</value></property>
          </bean>

          這兩個bean中那個屬性值設成foobar是什么意思?是規范還是別的?謝謝!

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-07-18 18:25 任遨游  回復  更多評論   

          這個例子非常不錯,有部分朋友應用root,readonly用戶都可以進行編輯和刪除操作,是因為
          select AUTHORITY,PROTECTED_RES from authorities where
          AUTH_TYPE='FUNCTION' and AUTHORITY like
          'AUTH_FUNC_ContactManager%'
          這段語句,原文中AUTHORITY是小寫的,改正后即可,我用了jdk1.6,tomcat5.5.23,acegi1.04可以正確運行

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架[未登錄] 2007-07-22 10:19 sclsch  回復  更多評論   

          mark

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-07-22 21:24 一餐三碗  回復  更多評論   

          @任遨游
          感謝您的更正!

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-07-23 14:17 dxjsunday  回復  更多評論   

          1.2 多方面的安全控制粒度
          URL 資源訪問控制
          http://apps:8080/index.htm -> for public
          http://apps:8080/user.htm -> for authorized user
          方法調用訪問控制
          public void getData() -> all user
          public void modifyData() -> supervisor only
          對象實例保護
          order.getValue() < $100 -> all user
          order.getValue() > $100 -> supervisor only

          這是在springside看到的介紹,我想應該可以對數據的控制吧

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-08-19 20:16 qiang  回復  更多評論   

          如何升級到1.0.4啊 我搞得怎么老師有錯誤啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-08-23 17:49 上海同傳  回復  更多評論   

          如何配置和擴展Acegi框架以適應實際需要,是很難學懂的。上海同傳能否擴展Acegi框架?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-08-29 10:15 gss  回復  更多評論   

          很不錯的例子.支持

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-08-29 15:41 gss  回復  更多評論   

          升級到1.0.4,有幾處改動.查看官方升級文檔即可...

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-09-06 14:51 figo  回復  更多評論   

          我用兩個用戶登錄時都是 登錄失敗 怎么改啊 初學者
          [WARN,LoggerListener,http-8088-Processor25] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@7be687: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D
          [WARN,LoggerListener,http-8088-Processor25] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1a15597: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D
          [WARN,LoggerListener,http-8088-Processor25] Authentication failed due to nonexistent username: readonly; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@1b284a4: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D
          [WARN,LoggerListener,http-8088-Processor24] Authentication failed due to nonexistent username: root; details: net.sf.acegisecurity.ui.WebAuthenticationDetails@16ff2d9: RemoteIpAddress: 127.0.0.1; SessionId: E88D62E33831BA7867D9A6042072735D

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-09-06 17:32 figo  回復  更多評論   

          問題解決了 ^_^ 好用了
          有沒有系統說明文檔啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-09-06 17:57 figo  回復  更多評論   

          CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
          PATTERN_TYPE_APACHE_ANT
          /**=httpSessionContextIntegrationFilter,authenticationProcessingFilter,anonymousProcessingFilter,securityEnforcementFilter
          是什么意思啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-09-07 14:27 figo  回復  更多評論   

          權限分配是通過配置什么實現的啊 看不懂啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-12-20 09:48 kasila  回復  更多評論   

          權限表authorities中PROTECTED_RES字段的USER值不太理解
          可以解釋一下?謝謝。

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2007-12-21 22:36 技術交流  回復  更多評論   

          寫得不錯!歡迎有一年以上j2ee實際項目開發經驗的朋友加入我們的討論群:41732384

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2008-03-10 18:16 we  回復  更多評論   

          我用兩個用戶登錄時都是 登錄失敗 怎么改啊

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2008-03-22 18:13 everyman1978  回復  更多評論   

          寫得非常好,謝謝

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2008-04-25 15:19 JACKCAO  回復  更多評論   

          配置沒什么問題,試問如果我要得到所有登錄的用戶的個數,名字,和將某個用戶靜止登錄又怎么做

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2008-05-06 16:19 fogu  回復  更多評論   

          使用acegi做安全框架,web性能會有很大影響,我的項目加上后,勉強通過100并發,如果不加acegi,400并發輕松通過,有人有這方面的經驗嗎?

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2008-05-10 16:35 joseph  回復  更多評論   

          請教一個問題,希望知道的人能給個答案,謝謝了。
          在這個項目中,項目啟動后,我訪問首頁,如果輸入http://localhost:8000/Acegi后,AbstractSecurityInterceptor中的ConfigAttributeDefinition attr = this.obtainObjectDefinitionSource().getAttributes(object),attr含有的權限就是AUTH_USER,如果輸入http://localhost:8000/Acegi/login.jsp,attr所包含的權限就是AUTH_ANONYMOUS,這是為什么啊,這個attr的值是怎么取到的??

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2009-02-15 18:01 adsf  回復  更多評論   

          福娃免費空間 地址 http://h.8wa.com

          # re: [原創]實戰Acegi:使用Acegi作為基于Spring框架的WEB應用的安全框架 2009-04-20 09:56 困惑----能幫我看看為什么嗎?  回復  更多評論   

          [ERROR,ContextLoader,main] Context initialization failed
          org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sample.util.DataSourceMethodDefinitionSourceEditor#75a744' defined in ServletContext resource [/WEB-INF/applicationContext-basic.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.FatalBeanException: Could not instantiate class [sample.util.DataSourceMethodDefinitionSourceEditor]; constructor threw exception; nested exception is java.lang.Error: Unresolved compilation problems:
          The import net.sf.acegisecurity cannot be resolved
          The import net.sf.acegisecurity cannot be resolved

          如何解決呢,麻煩幫著看看啊。
          主站蜘蛛池模板: 六安市| 鞍山市| 蓝山县| 永州市| 布尔津县| 连平县| 花莲市| 新和县| 山丹县| 清涧县| 汤阴县| 五莲县| 荔浦县| 喀喇沁旗| 蚌埠市| 峨边| 从化市| 东丰县| 白玉县| 会昌县| 镇远县| 望奎县| 中江县| 镇宁| 体育| 锦州市| 余姚市| 平江县| 禄丰县| 曲阳县| 库伦旗| 周宁县| 崇仁县| 遂川县| 永嘉县| 峨山| 理塘县| 濮阳市| 衡水市| 屯昌县| 枣庄市|