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

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

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

    [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架

    實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架

    最近項(xiàng)目使用Acegi作為安全框架的實(shí)現(xiàn),效果不錯(cuò),就寫了這篇文章作為總結(jié).

    對(duì)于任何一個(gè)完整的應(yīng)用系統(tǒng),完善的認(rèn)證和授權(quán)機(jī)制是必不可少的。在基于SpringFramework的WEB應(yīng)用中,
    我們可以使用Acegi作為安全架構(gòu)的實(shí)現(xiàn)。本文將介紹如何在基于Spring構(gòu)架的Web應(yīng)用中使用Acegi,并且詳細(xì)介
    紹如何配置和擴(kuò)展Acegi框架以適應(yīng)實(shí)際需要。

    文章和代碼下載:

    http://www.tkk7.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

    附注:

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

    Mysql的建表腳本在db目錄下
    為了減小體積,已經(jīng)將WEB-INF\lib下的依賴包刪除,請(qǐng)自行下載以下包,并拷貝至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網(wǎng)站下載。



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

    評(píng)論

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2005-12-11 19:04 rockyzhang  回復(fù)  更多評(píng)論   

    對(duì)方法的自定義權(quán)限控制
    對(duì)URL的自定義權(quán)限控制
    這個(gè)有沒有相關(guān)的一點(diǎn)代碼或者提示呢?

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2005-12-12 08:57 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2005-12-12 11:55 海珠江奮  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2005-12-12 13:14 一餐三碗  回復(fù)  更多評(píng)論   

    文章里面已經(jīng)解決了這個(gè)問題.配置信息基本是在數(shù)據(jù)庫中.

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2005-12-16 15:20 吳淦  回復(fù)  更多評(píng)論   

    好,經(jīng)典!

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2005-12-20 17:49 Feiing  回復(fù)  更多評(píng)論   

    關(guān)于數(shù)據(jù)庫擴(kuò)展實(shí)現(xiàn), 可以參考

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



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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-01-07 15:30 一餐三碗  回復(fù)  更多評(píng)論   

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

    來自ligangdu@21cn.com的朋友問:
    -----------------------------------------------------
    為什么在訪問acegi-sample的時(shí)候會(huì)自動(dòng)顯示login.jsp頁面呢,我看了web.xml,其中沒有設(shè)置welcome-file。是不是因?yàn)樵凇癮uthenticationProcessingFilterEntryPoint”中設(shè)置了“<property name="loginFormUrl"><value>/login.jsp</value></property>”?
    -----------------------------------------------------
    答:是的。

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

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-01-10 16:30 bzshow  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-02-11 20:40 soncheng  回復(fù)  更多評(píng)論   

    運(yùn)行出現(xiàn)提示:

    [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


    不能驗(yàn)證:

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-02-12 12:52 sailer  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-02-13 15:34 xmlbjtu  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-02-13 19:41 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-03-16 19:41 James Ma  回復(fù)  更多評(píng)論   

    用戶的查詢,除了cache外,有沒有其它機(jī)制?為cluster環(huán)境,cache不支持同步.

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-03-18 20:52 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-03-29 09:32 gavin  回復(fù)  更多評(píng)論   

    問一個(gè)問題:acegi的認(rèn)證方式可以配置么?就像JAAS那樣可以通過LoginContext來調(diào)用不同的LoginModule,來實(shí)現(xiàn)不同方式的認(rèn)證,比如登錄時(shí)可以通過數(shù)據(jù)庫來校驗(yàn),或者通過windowsNT的用戶來校驗(yàn),acegi是否支持?

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-03-30 09:52 一餐三碗  回復(fù)  更多評(píng)論   

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

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-05-09 17:15 xxxxxx  回復(fù)  更多評(píng)論   

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

    登陸的時(shí)候是怎么處理的 這一句看不懂a(chǎn)ction="j_acegi_security_check" ??
    eclipsehibernate@hotmial.com

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-05-10 10:19 hard  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-05-10 16:41 一餐三碗  回復(fù)  更多評(píng)論   

    @xxxxxx
    標(biāo)準(zhǔn)格式,呵呵,沒什么道理的.

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-05-10 16:43 一餐三碗  回復(fù)  更多評(píng)論   

    @hard
    這個(gè)例子采用的是acegi-security-0.8.3這個(gè)版本,請(qǐng)下載對(duì)應(yīng)的版本編譯.

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-05-21 11:26 irene  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-07-20 14:44 freshman  回復(fù)  更多評(píng)論   

    用jdbcDaoImpl里的那種sql去驗(yàn)證,應(yīng)該是有sql注入問題吧

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-07-21 08:14 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-08-24 15:12 溫柔一刀5  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-10-25 09:25 一餐三碗  回復(fù)  更多評(píng)論   

    @溫柔一刀5

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:/login.jsp*= 2006-10-28 19:14 ACEGI  回復(fù)  更多評(píng)論   

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

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-11-02 09:14 一餐三碗  回復(fù)  更多評(píng)論   

    @ACEGI

    *是通配符啊

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2006-12-27 01:58 夢(mèng)秋雨  回復(fù)  更多評(píng)論   

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

    對(duì)照SpringSide,看到了一種擴(kuò)展方式,實(shí)現(xiàn)基于角色的權(quán)限控制(RBAC)。實(shí)現(xiàn)起來也還是很簡單的。將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聯(lián)系進(jìn)來了。

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-01 11:26 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-26 17:16 tiannet  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-26 17:26 一餐三碗[匿名]  回復(fù)  更多評(píng)論   

    @tiannet

    看看log信息,應(yīng)該有異常

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-27 08:50 tiannet  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-27 09:05 tiannet  回復(fù)  更多評(píng)論   

    我運(yùn)行在JDK1.5+Tomcat5.5下,
    應(yīng)該不會(huì)有問題吧?

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-27 10:05 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-01-29 11:01 tiannet  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-02 17:35 Rocky  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-03 22:40 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-09 15:05 gtb  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-09 19:16 tzjz  回復(fù)  更多評(píng)論   

    你好,我對(duì)acegi 還不是很熟,成功的將你的實(shí)例發(fā)布,
    但發(fā)現(xiàn)一個(gè)問題 ,當(dāng)我直接從地址欄輸入http://localhost:8080/bugTrace/contactlist.jsp
    也能進(jìn)去,該怎么解決這個(gè)問題??謝謝

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-09 19:30 tzjz  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-17 21:31 llllllllllllllllllllllllll0000000000000000  回復(fù)  更多評(píng)論   

    請(qǐng)問下:
    我們一般的b/s系統(tǒng)中都要做個(gè)權(quán)限管理的東西,幾乎每個(gè)系統(tǒng)中都要建立“資源”“用戶”,“角色“”的東西,還要在根據(jù)業(yè)務(wù)需要建立acl,,是不是acegi用了,就可以不用在寫代碼做權(quán)限這部分了。
    謝謝。

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-19 09:53 一餐三碗  回復(fù)  更多評(píng)論   

    @llllllllllllllllllllllllll0000000000000000
    基本上可以大大減少和集中權(quán)限代碼,但是對(duì)于實(shí)例級(jí)權(quán)限控制我個(gè)人認(rèn)為Acegi無能為力,因?yàn)锳cegi 通過 ACL 實(shí)現(xiàn)實(shí)例級(jí)權(quán)限控制,但是在性能和效率上有很大問題,目前無法應(yīng)用到實(shí)際項(xiàng)目中去。不過換一個(gè)角度考慮:實(shí)例級(jí)權(quán)限控制應(yīng)該是業(yè)務(wù)相關(guān)的,也是可以認(rèn)為是業(yè)務(wù)代碼,這樣就沒必要把這塊代碼獨(dú)立出來了。

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-03-19 11:30 lllllllllllllllllllllllll0000000000000000   回復(fù)  更多評(píng)論   

    @一餐三碗

    謝謝老兄。

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架[未登錄] 2007-03-20 13:41 夢(mèng)秋雨  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-04-18 11:57 李賓  回復(fù)  更多評(píng)論   

    現(xiàn)在不能下載了啊

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-04-19 12:14 邊緣  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-04-19 13:03 shijh  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-05-08 01:09 njcgf  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-05-08 10:40 一餐三碗  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-05-09 22:54 監(jiān)聽器  回復(fù)  更多評(píng)論   

    比較實(shí)用,謝謝了

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-05-26 10:57 njcgf  回復(fù)  更多評(píng)論   

    <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>

    這兩個(gè)bean中那個(gè)屬性值設(shè)成foobar是什么意思?是規(guī)范還是別的?謝謝!

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-07-18 18:25 任遨游  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架[未登錄] 2007-07-22 10:19 sclsch  回復(fù)  更多評(píng)論   

    mark

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-07-22 21:24 一餐三碗  回復(fù)  更多評(píng)論   

    @任遨游
    感謝您的更正!

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-07-23 14:17 dxjsunday  回復(fù)  更多評(píng)論   

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

    這是在springside看到的介紹,我想應(yīng)該可以對(duì)數(shù)據(jù)的控制吧

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-08-19 20:16 qiang  回復(fù)  更多評(píng)論   

    如何升級(jí)到1.0.4啊 我搞得怎么老師有錯(cuò)誤啊

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-08-23 17:49 上海同傳  回復(fù)  更多評(píng)論   

    如何配置和擴(kuò)展Acegi框架以適應(yīng)實(shí)際需要,是很難學(xué)懂的。上海同傳能否擴(kuò)展Acegi框架?

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-08-29 10:15 gss  回復(fù)  更多評(píng)論   

    很不錯(cuò)的例子.支持

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-08-29 15:41 gss  回復(fù)  更多評(píng)論   

    升級(jí)到1.0.4,有幾處改動(dòng).查看官方升級(jí)文檔即可...

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-09-06 14:51 figo  回復(fù)  更多評(píng)論   

    我用兩個(gè)用戶登錄時(shí)都是 登錄失敗 怎么改啊 初學(xué)者
    [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: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-09-06 17:32 figo  回復(fù)  更多評(píng)論   

    問題解決了 ^_^ 好用了
    有沒有系統(tǒng)說明文檔啊

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-09-06 17:57 figo  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-09-07 14:27 figo  回復(fù)  更多評(píng)論   

    權(quán)限分配是通過配置什么實(shí)現(xiàn)的啊 看不懂啊

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-12-20 09:48 kasila  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2007-12-21 22:36 技術(shù)交流  回復(fù)  更多評(píng)論   

    寫得不錯(cuò)!歡迎有一年以上j2ee實(shí)際項(xiàng)目開發(fā)經(jīng)驗(yàn)的朋友加入我們的討論群:41732384

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2008-03-10 18:16 we  回復(fù)  更多評(píng)論   

    我用兩個(gè)用戶登錄時(shí)都是 登錄失敗 怎么改啊

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2008-03-22 18:13 everyman1978  回復(fù)  更多評(píng)論   

    寫得非常好,謝謝

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2008-04-25 15:19 JACKCAO  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2008-05-06 16:19 fogu  回復(fù)  更多評(píng)論   

    使用acegi做安全框架,web性能會(huì)有很大影響,我的項(xiàng)目加上后,勉強(qiáng)通過100并發(fā),如果不加acegi,400并發(fā)輕松通過,有人有這方面的經(jīng)驗(yàn)嗎?

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2008-05-10 16:35 joseph  回復(fù)  更多評(píng)論   

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

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2009-02-15 18:01 adsf  回復(fù)  更多評(píng)論   

    福娃免費(fèi)空間 地址 http://h.8wa.com

    # re: [原創(chuàng)]實(shí)戰(zhàn)Acegi:使用Acegi作為基于Spring框架的WEB應(yīng)用的安全框架 2009-04-20 09:56 困惑----能幫我看看為什么嗎?  回復(fù)  更多評(píng)論   

    [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

    如何解決呢,麻煩幫著看看啊。
    主站蜘蛛池模板: 99亚洲乱人伦aⅴ精品| 亚洲伊人久久大香线蕉| 亚洲国产二区三区久久| 亚洲白色白色永久观看| 亚洲www77777| 免费一级全黄少妇性色生活片| 国产精品hd免费观看| 四虎影视成人永久免费观看视频 | 精品无码免费专区毛片| 成人免费a级毛片| 亚洲国产成人a精品不卡在线| 自拍偷自拍亚洲精品第1页| 婷婷久久久亚洲欧洲日产国码AV| 亚洲中文字幕久久精品无码2021 | 亚洲一区免费观看| 97se亚洲国产综合自在线| 美女视频黄.免费网址| 日本视频免费高清一本18| 色se01短视频永久免费| 亚洲第一福利网站在线观看| 亚洲爆乳无码一区二区三区| 亚洲欧洲日韩国产一区二区三区| 免费一级特黄特色大片| 外国成人网在线观看免费视频 | 大地资源免费更新在线播放| 亚洲精品tv久久久久| 亚洲男人都懂得羞羞网站| 亚洲成AV人影片在线观看| a级毛片免费全部播放无码| 一个人免费观看在线视频www| 亚洲av无码成人精品区| 亚洲五月激情综合图片区| 爱情岛亚洲论坛在线观看| 99热这里有免费国产精品| 国产jizzjizz免费视频| 亚洲福利视频导航| 免费看一级毛片在线观看精品视频| 午夜无码A级毛片免费视频| 国产乱子伦精品免费无码专区| 亚洲国产综合专区电影在线| 精品国产日韩亚洲一区在线 |