Tapestry4.0和Acegi的集成注意事項:
1,由于 Acegi 是建立在 Spring 基礎(chǔ)上的, 所以系統(tǒng)必須支持 Spring。
2,配置hivemodule.xml及web.xml.實現(xiàn)frindsurl。配置如下:
hivemodule.xml:
?<contribution configuration-id="tapestry.url.ServiceEncoders">
??<direct-service-encoder id="direct" stateless-extension="direct" stateful-extension="sdirect"/>
??<page-service-encoder id="page" extension="html" service="page"/>
??<page-service-encoder id="external" extension="external" service="external"/>
??<asset-encoder id="asset" path="/assets"/>
??<extension-encoder id="ext" extension="svc" after="*"/>
?</contribution>
web.xml:
?? <filter>
??????? <filter-name>Acegi Filter Chain Proxy</filter-name>
??????? <filter-class>org.acegisecurity.util.FilterToBeanProxy</filter-class>
??????? <init-param>
??????????? <param-name>targetClass</param-name>
??????????? <param-value>org.acegisecurity.util.FilterChainProxy</param-value>
??????? </init-param>
?? </filter>
??? <filter-mapping>
????? <filter-name>Acegi Filter Chain Proxy</filter-name>
????? <url-pattern>/*</url-pattern>
??? </filter-mapping>
??? <servlet>
??????? <servlet-name>youservletname</servlet-name>
??????? <servlet-class>org.apache.tapestry.ApplicationServlet</servlet-class>
??????? <load-on-startup>0</load-on-startup>
??? </servlet>
?
??? <servlet-mapping>
??????? <servlet-name>youservletname</servlet-name>
??????? <url-pattern>/app</url-pattern>
??? </servlet-mapping>
???
???
????? <servlet-mapping>
??????? <servlet-name>youservletname</servlet-name>
??????? <url-pattern>*.html</url-pattern>
??? </servlet-mapping>
????
??? <servlet-mapping>
??????? <servlet-name>youservletname</servlet-name>
??????? <url-pattern>*.direct</url-pattern>
??? </servlet-mapping>
???
??? <servlet-mapping>
??????? <servlet-name>youservletname</servlet-name>
??????? <url-pattern>*.sdirect</url-pattern>
??? </servlet-mapping>
????
??? <servlet-mapping>
??????? <servlet-name>youservletname</servlet-name>
??????? <url-pattern>/assets/*</url-pattern>
??? </servlet-mapping>
3,配置application-context-acegi.xml:
?? 可參考:http://forum.springframework.org/showthread.php?t=24013&highlight=acegi+tapestry
注:本文是本人通過參考這個文章總結(jié)出來的經(jīng)驗之談。