锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲色大成网站WWW国产,亚洲乱码国产乱码精品精,91在线亚洲精品专区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 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 国产亚洲蜜芽精品久久| 亚洲一区二区三区91| 国产亚洲综合视频| 午夜免费福利影院| 亚洲欧美综合精品成人导航| 成全视频免费高清| 亚洲AV无码国产精品永久一区| 扒开双腿猛进入爽爽免费视频| 日韩亚洲不卡在线视频中文字幕在线观看 | 久久亚洲精品无码网站| 蜜臀91精品国产免费观看| 亚洲精品美女久久7777777| 国产在线观看免费完整版中文版 | 4444www免费看| 亚洲性无码av在线| 天天摸夜夜摸成人免费视频| 国产精品亚洲综合天堂夜夜| 亚洲 综合 国产 欧洲 丝袜| 久久精品免费网站网| 亚洲自偷自偷精品| 西西大胆无码视频免费| 真人无码作爱免费视频| 久久精品九九亚洲精品天堂| **aaaaa毛片免费同男同女| 亚洲kkk4444在线观看| 亚洲精品视频久久久| 99视频在线免费| 亚洲午夜成人精品无码色欲| 免费播放春色aⅴ视频| 国产自国产自愉自愉免费24区 | 亚洲AV综合色区无码一二三区| avtt亚洲天堂| 亚洲一级免费毛片| 免费高清A级毛片在线播放| 亚洲第一精品福利| 蜜臀91精品国产免费观看| 中文字幕手机在线免费看电影| 亚洲欧洲日本天天堂在线观看| 国产精品视频免费一区二区三区| 久久久免费观成人影院| 亚洲中文字幕乱码熟女在线|