锘??xml version="1.0" encoding="utf-8" standalone="yes"?>国产综合成人亚洲区,亚洲一级在线观看,亚洲高清无码综合性爱视频http://www.tkk7.com/RR00/category/16366.html涓嶈鍩嬪ご鑻﹀共錛岃瀛︿範錛屽涔狅紝鍐嶅涔犮傘傘傘傘? <br> powered by <font color='orange'>R.Zeus</font>zh-cnThu, 08 Mar 2007 06:43:23 GMTThu, 08 Mar 2007 06:43:23 GMT60acegi in springhttp://www.tkk7.com/RR00/articles/102379.htmlR.ZeusR.ZeusWed, 07 Mar 2007 05:24:00 GMThttp://www.tkk7.com/RR00/articles/102379.htmlhttp://www.tkk7.com/RR00/comments/102379.htmlhttp://www.tkk7.com/RR00/articles/102379.html#Feedback0http://www.tkk7.com/RR00/comments/commentRss/102379.htmlhttp://www.tkk7.com/RR00/services/trackbacks/102379.htmlfor example,the "filterInvocationDefinitionSource" properties,Spring will choose the聽class "FilterInvocationDefinitionSourceEditor" to solve聽 the "filterInvocationDefinitionSource".u may notes that
the "FilterInvocationDefinitionSourceEditor" = "filterInvocationDefinitionSource" plus "editor" ignore the case.
That is exactly what Spring do.

in acegi , "filterInvocationDefinitionSource"聽 use to store urls for filering,so when u understand the its struture ,u can
get the url for database,not explicitly.

for the key word " CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON",it means u must
set the聽properties name lower case,otherwise will be error.

and "聽 PATTERN_TYPE_APACHE_ANT" means use class PathBasedFilterInvocationDefinitionMap,default use
class RegExpBasedFilterInvocationDefinitionMap.

R.Zeus 2007-03-07 13:24 鍙戣〃璇勮
]]>
i18n-fuck the ReloadableResourceBundleMessageSourcehttp://www.tkk7.com/RR00/articles/76821.htmlR.ZeusR.ZeusMon, 23 Oct 2006 12:11:00 GMThttp://www.tkk7.com/RR00/articles/76821.htmlhttp://www.tkk7.com/RR00/comments/76821.htmlhttp://www.tkk7.com/RR00/articles/76821.html#Feedback0http://www.tkk7.com/RR00/comments/commentRss/76821.htmlhttp://www.tkk7.com/RR00/services/trackbacks/76821.html聽<bean id="messageSource"
聽聽聽聽聽聽聽聽聽 class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
聽聽聽聽聽聽聽 <property name="basename">
聽聽聽聽聽聽聽聽聽聽聽 <value>com/suzsoft/jportal/usermanagement/acegi/ApplicationMessages_zh_CN</value>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="alwaysUseMessageFormat" value="true"/>
聽聽聽 </bean>


this from the reference,but the ReloadableResourceBundleMessageSource seems never init and i don't konw how to make it work.

at the last ,I use


聽 <bean id="messageSource"
聽聽聽聽聽聽聽聽聽 class="org.springframework.context.support.ResourceBundleMessageSource">
聽聽聽聽聽聽聽 <property name="basename">
聽聽聽聽聽聽聽聽聽聽聽 <value>com.suzsoft.jportal.usermanagement.acegi.ApplicationMessages</value>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="alwaysUseMessageFormat" value="true"/>
聽</bean>

ResourceBundleMessageSource:

setBasename

public void setBasename(String聽basename)

Set a single basename, following ResourceBundle conventions: It is a fully-qualified classname. If it doesn't contain a package qualifier (such as org.mypackage), it will be resolved from the classpath root.

Messages will normally be held in the /lib or /classes directory of a WAR. They can also be held in Jars on the class path. For example, a Jar in an application's manifest classpath could contain messages for the application.

ReloadableResourceBundleMessageSource:

setBasename

public void setBasename(String聽basename)
Set a single basename, following the basic ResourceBundle convention of not specifying file extension or language codes, but in contrast to ResourceBundleMessageSource referring to a Spring resource location: e.g. "WEB-INF/messages" for "WEB-INF/messages.properties", "WEB-INF/messages_en.properties", etc.

As of Spring 1.2.2, XML properties files are also supported: e.g. "WEB-INF/messages" will find and load "WEB-INF/messages.xml", "WEB-INF/messages_en.xml", etc as well. Note that this will only work on JDK 1.5+.




R.Zeus 2006-10-23 20:11 鍙戣〃璇勮
]]>
acegi security is so perfect for login filterhttp://www.tkk7.com/RR00/articles/76254.htmlR.ZeusR.ZeusThu, 19 Oct 2006 13:14:00 GMThttp://www.tkk7.com/RR00/articles/76254.htmlhttp://www.tkk7.com/RR00/comments/76254.htmlhttp://www.tkk7.com/RR00/articles/76254.html#Feedback0http://www.tkk7.com/RR00/comments/commentRss/76254.htmlhttp://www.tkk7.com/RR00/services/trackbacks/76254.htmlAfter use it first time聽in聽an project ,I found it so goodt!My project use struts+tiles+spring+acegi security+hibernate.
The below feature聽 make聽much effect in my project:

1.when logout and then click 'back' button in the IE聽Toolbars 聽to the last page which will be expired and auto redirect to appointed URL.
2.if client login the system but do nothing too long ,the session will be detected and expired!but as far I don't know how did the Acegi Security implements this.(this feature is seems in spring or tomcat,after set the sessionRegistor in Acegi Security ,it is not validate)
3.Acegi Security can control How the same username can logined in different ip!e.g. the same username can login many from ip or just can only login once.for single login,there are two case:the next login will be forbided聽; the next login聽is permited and the first login auto out fo session.it is depend on the
security level!

one thing not resolved is that if there are two different user sign in on聽the same mache,the prev-user will auto session expired.How to achieve this?

after set property "sessionController",below is the variety:
1.auto login; if there is one user sign ,and then open a new IE to address a url need auth ,the url will redirect to the loginfromurl.but befor set this property, the url will open a page with the signed user.
2.if there is a url needed auth on the IE address(this may be left by last login and not logout),after server restar,the
url will redirect to the loginfromurl.before this url will continuate with last authed user.
3.session will not auto expire after long time idlesse.



R.Zeus 2006-10-19 21:14 鍙戣〃璇勮
]]>
Acegi Security and Strutshttp://www.tkk7.com/RR00/articles/75582.htmlR.ZeusR.ZeusTue, 17 Oct 2006 05:07:00 GMThttp://www.tkk7.com/RR00/articles/75582.htmlhttp://www.tkk7.com/RR00/comments/75582.htmlhttp://www.tkk7.com/RR00/articles/75582.html#Feedback0http://www.tkk7.com/RR00/comments/commentRss/75582.htmlhttp://www.tkk7.com/RR00/services/trackbacks/75582.htmlAcegi Secutiry is for URL-ROLE,and in Struts every method is mapping to a URL,so they are integrating is so perfect!

applicationContext-acegi-security.xml
---------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "

<!--
聽- A simple "base bones" Acegi Security configuration.
聽-
聽- The sample includes the "popular" features that people tend to use.
聽- Specifically, form authentication, remember-me, and anonymous processing.
聽- Other features aren't setup, as these can be added later by inserting
聽- the relevant XML fragments as specified in the Reference Guide.
聽-
聽- To assist new users, the filters specified in the FilterChainProxy are
聽- declared in the application context in the same order. Collaborators
聽- required by those filters are placed at the end of the file.
聽-
聽- $Id: applicationContext-acegi-security.xml,v 1.1 2006/10/17 02:58:44 ronald.feng Exp $
-->

<beans>

聽聽聽 <bean id="filterChainProxy"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.util.FilterChainProxy">
聽聽聽聽聽聽聽 <property name="filterInvocationDefinitionSource">
聽聽聽聽聽聽聽聽聽聽聽 <value>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 PATTERN_TYPE_APACHE_ANT
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /**=httpSessionContextIntegrationFilter,logoutFilter,authenticationProcessingFilter,securityContextHolderAwareRequestFilter,rememberMeProcessingFilter,anonymousProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
聽聽聽聽聽聽聽聽聽聽聽 </value>
聽聽聽聽聽聽聽 </property>
聽聽聽 </bean>

聽聽聽 <bean id="httpSessionContextIntegrationFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.context.HttpSessionContextIntegrationFilter"/>

聽聽聽 <bean id="logoutFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.logout.LogoutFilter">
聽聽聽聽聽聽聽 <constructor-arg value="/login.jsp"/>
聽聽聽聽聽聽聽 <!-- URL redirected to after logout -->
聽聽聽聽聽聽聽 <constructor-arg>
聽聽聽聽聽聽聽聽聽聽聽 <list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <ref bean="rememberMeServices"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.logout.SecurityContextLogoutHandler"/>
聽聽聽聽聽聽聽聽聽聽聽 </list>
聽聽聽聽聽聽聽 </constructor-arg>
聽聽聽 </bean>

聽聽聽 <bean id="authenticationProcessingFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilter">
聽聽聽聽聽聽聽 <property name="authenticationManager"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ref="authenticationManager"/>

聽聽聽聽聽聽聽 <property name="authenticationFailureUrl"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value="/login.jsp?login_error=1"/>
聽聽聽聽聽聽聽 <property name="defaultTargetUrl" value="/"/>
聽聽聽聽聽聽聽 <property name="filterProcessesUrl"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value="/j_acegi_security_check"/>
聽聽聽聽聽聽聽 <property name="rememberMeServices" ref="rememberMeServices"/>

聽聽聽 </bean>

聽聽聽 <bean id="securityContextHolderAwareRequestFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter"/>

聽聽聽 <bean id="rememberMeProcessingFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.rememberme.RememberMeProcessingFilter">
聽聽聽聽聽聽聽 <property name="authenticationManager"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ref="authenticationManager"/>
聽聽聽聽聽聽聽 <property name="rememberMeServices" ref="rememberMeServices"/>
聽聽聽 </bean>

聽聽聽 <bean id="anonymousProcessingFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.anonymous.AnonymousProcessingFilter">
聽聽聽聽聽聽聽 <property name="key" value="changeThis"/>
聽聽聽聽聽聽聽 <property name="userAttribute"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value="anonymousUser,ROLE_ANONYMOUS"/>
聽聽聽 </bean>

聽聽聽 <bean id="exceptionTranslationFilter"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.ExceptionTranslationFilter">
聽聽聽聽聽聽聽 <property name="authenticationEntryPoint">
聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.webapp.AuthenticationProcessingFilterEntryPoint">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="loginFormUrl" value="/login.jsp"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="forceHttps" value="false"/>
聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="accessDeniedHandler">
聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.AccessDeniedHandlerImpl">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="errorPage" value="/accessDenied.jsp"/>
聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽 </property>
聽聽聽 </bean>

聽聽聽 <bean id="filterInvocationInterceptor"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.intercept.web.FilterSecurityInterceptor">

聽聽聽聽聽聽聽 <property name="authenticationManager"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ref="authenticationManager"/>

聽聽聽聽聽聽聽 <property name="accessDecisionManager">
聽聽聽聽聽聽聽聽聽聽聽 <bean class="org.acegisecurity.vote.AffirmativeBased">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="allowIfAllAbstainDecisions"
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 value="false"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="decisionVoters">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean class="org.acegisecurity.vote.RoleVoter"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.vote.AuthenticatedVoter"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </property>

聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽 </property>

聽聽聽聽聽聽聽 <property name="objectDefinitionSource">
聽聽聽聽聽聽聽聽聽聽聽 <value>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 CONVERT_URL_TO_LOWERCASE_BEFORE_COMPARISON
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 PATTERN_TYPE_APACHE_ANT
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /images/**=IS_AUTHENTICATED_ANONYMOUSLY
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /css/**=IS_AUTHENTICATED_ANONYMOUSLY
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /scripts/**=IS_AUTHENTICATED_ANONYMOUSLY
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /login.jsp=IS_AUTHENTICATED_ANONYMOUSLY
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /error.jsp=IS_AUTHENTICATED_ANONYMOUSLY

聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <!-- this for .do url!remember acegi is only for url and can filter for any url! -->
聽<!--聽or聽 staff/searchstaff.do=ROLE_ADMIN_TEST -->
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 /staff/**=ROLE_ADMIN_TEST

聽聽聽聽聽聽聽聽聽聽聽 </value>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽

聽聽聽 </bean>

聽聽聽 <bean id="rememberMeServices"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.ui.rememberme.TokenBasedRememberMeServices">
聽聽聽聽聽聽聽 <property name="userDetailsService" ref="userDetailsService"/>
聽聽聽聽聽聽聽 <property name="key" value="changeThis"/>
聽聽聽 </bean>

聽聽聽 <bean id="authenticationManager"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.ProviderManager">
聽聽聽聽聽聽聽 <property name="providers">
聽聽聽聽聽聽聽聽聽聽聽 <list>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <ref local="daoAuthenticationProvider"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.anonymous.AnonymousAuthenticationProvider">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="key" value="changeThis"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.rememberme.RememberMeAuthenticationProvider">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="key" value="changeThis"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽聽聽聽聽 </list>
聽聽聽聽聽聽聽 </property>
聽聽聽 </bean>

聽聽聽 <bean id="daoAuthenticationProvider"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.dao.DaoAuthenticationProvider">
聽聽聽聽聽聽聽 <property name="userDetailsService" ref="userDetailsService"/>
聽聽聽聽聽聽聽 <property name="userCache">
聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.dao.cache.EhCacheBasedUserCache">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="cache">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.springframework.cache.ehcache.EhCacheFactoryBean">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="cacheManager">
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <bean
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 <property name="cacheName" value="userCache"/>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽聽聽聽聽 </bean>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="passwordEncoder" ref="passwordEncoder"/>
聽聽聽 </bean>

聽聽聽 <bean id="passwordEncoder"

聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.providers.encoding.Md5PasswordEncoder"/>

聽聽聽 <!-- UserDetailsService is the most commonly frequently Acegi Security interface implemented by end users -->
聽聽聽 <!--<bean id="c"-->
聽聽聽 <!--class="org.acegisecurity.userdetails.memory.InMemoryDaoImpl">-->
聽聽聽 <!--<property name="userProperties">-->
聽聽聽 <!--<bean-->
聽聽聽 <!--class="org.springframework.beans.factory.config.PropertiesFactoryBean">-->
聽聽聽 <!--<property name="location"-->
聽聽聽 <!--value="/WEB-INF/users.properties" />-->
聽聽聽 <!--</bean>-->
聽聽聽 <!--</property>-->
聽聽聽 <!--</bean>-->
聽聽聽 <bean id="userDetailsService" class="org.acegisecurity.userdetails.jdbc.JdbcDaoImpl">
聽聽聽聽聽聽聽 <property name="dataSource">
聽聽聽聽聽聽聽聽聽聽聽 <ref bean="dataSource"/>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="authoritiesByUsernameQuery">
聽聽聽聽聽聽聽聽聽聽聽 <value>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 SELECT account,'ROLE_ADMIN' as authority FROM TB_STAFF WHERE account = ?
聽聽聽聽聽聽聽聽聽聽聽 </value>
聽聽聽聽聽聽聽 </property>
聽聽聽聽聽聽聽 <property name="usersByUsernameQuery">
聽聽聽聽聽聽聽聽聽聽聽 <value>
聽聽聽聽聽聽聽聽聽聽聽聽聽聽聽 SELECT account,password, 1 as enabled FROM TB_STAFF WHERE account = ?

聽聽聽聽聽聽聽聽聽聽聽 </value>
聽聽聽聽聽聽聽 </property>
聽聽聽 </bean>

聽聽聽 <!-- This bean is optional; it isn't used by any other bean as it only listens and logs -->
聽聽聽 <bean id="loggerListener"
聽聽聽聽聽聽聽聽聽 class="org.acegisecurity.event.authentication.LoggerListener"/>

</beans>
---------------------------------------------------------------------------------------------------------------



R.Zeus 2006-10-17 13:07 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 亚洲国产高清在线| 亚洲无码高清在线观看| 亚洲高清在线mv| 日韩免费电影网址| 亚洲精品免费在线观看| 免费无码毛片一区二区APP| 国产V亚洲V天堂无码| 鲁丝片一区二区三区免费| 亚洲国产人成网站在线电影动漫 | 97热久久免费频精品99| 亚洲高清在线mv| 国色精品卡一卡2卡3卡4卡免费| 亚洲国产精品yw在线观看| 好男人www免费高清视频在线| 国产精品亚洲综合久久| 国产精品免费一级在线观看| 免费视频成人国产精品网站| 国产成人综合亚洲亚洲国产第一页| 在线看片免费人成视频播| 香蕉免费一区二区三区| 亚洲18在线天美| 亚洲av无码国产精品色在线看不卡 | 亚洲乱码卡三乱码新区| 青青青青青青久久久免费观看| 朝桐光亚洲专区在线中文字幕| 久久精品亚洲乱码伦伦中文| 久久青草91免费观看| 国产精品亚洲专区在线观看| 亚洲高清成人一区二区三区| 久久成人免费电影| 亚洲熟女www一区二区三区| 亚洲欧洲久久av| 99re免费99re在线视频手机版| 亚洲欧美日韩久久精品| 亚洲一级特黄大片无码毛片| 性xxxx视频免费播放直播| 久久亚洲精品国产亚洲老地址 | 亚洲精品永久在线观看| 国产av无码专区亚洲av果冻传媒 | 成人人观看的免费毛片| eeuss免费天堂影院|