打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
[更新]一份包含: 采用RSA JWT(Json Web Token, RSA加密)的OAUTH2.0,HTTP BASIC,本地数据库验证,Windows域验证,单点登录的Spring Securi
  1 <?xml version="1.0" encoding="UTF-8"?>  2 <beans:beans xmlns="http://www.springframework.org/schema/security"  3              xmlns:beans="http://www.springframework.org/schema/beans"  4              xmlns:oauth2="http://www.springframework.org/schema/security/oauth2"  5              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  6              xsi:schemaLocation="http://www.springframework.org/schema/beans  7                                  http://www.springframework.org/schema/beans/spring-beans-4.2.xsd  8                                  http://www.springframework.org/schema/security  9                                  http://www.springframework.org/schema/security/spring-security-4.0.xsd 10                                  http://www.springframework.org/schema/security/oauth2 11                                  http://www.springframework.org/schema/security/spring-security-oauth2.xsd"> 12  13  14     <global-method-security pre-post-annotations="enabled" order="0" 15                             proxy-target-class="true"> 16     </global-method-security> 17  18     <beans:bean id="sessionRegistry" 19                 class="org.springframework.security.core.session.SessionRegistryImpl" /> 20  21     <http security="none" pattern="/resources/**" /> 22     <http security="none" pattern="/favicon.ico" /> 23  24     <beans:beans profile="oauth-authorization-server"> 25         <beans:bean id="oauth2AuthorizationServerJwtAccessTokenConverter" class="org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter" > 26             <beans:property name="signingKey" ref="jwtSigningKey"/> 27             <beans:property name="verifierKey" ref="jwtVerifierKey"/> 28         </beans:bean> 29  30         <beans:bean id="oauth2AuthorizationServerTokenStore" class="org.springframework.security.oauth2.provider.token.store.JwtTokenStore" > 31             <beans:constructor-arg ref="oauth2AuthorizationServerJwtAccessTokenConverter"/> 32         </beans:bean> 33  34         <beans:bean id="oauth2AuthorizationServerTokenServices" 35                     class="org.springframework.security.oauth2.provider.token.DefaultTokenServices"> 36             <beans:property name="tokenStore" ref="oauth2AuthorizationServerTokenStore" /> 37             <beans:property name="clientDetailsService" ref="clientDetailsService" /> 38             <beans:property name="tokenEnhancer" ref="oauth2AuthorizationServerJwtAccessTokenConverter" /> 39             <beans:property name="supportRefreshToken" value="true" /> 40         </beans:bean> 41  42         <beans:bean id="oauth2AuthorizationServerClientDetailsUserService" 43                     class="org.springframework.security.oauth2.provider.client.ClientDetailsUserDetailsService"> 44             <beans:constructor-arg ref="clientDetailsService"/> 45             <beans:property name="passwordEncoder" ref="passwordEncoder"/> 46         </beans:bean> 47  48         <beans:bean id="oauth2AuthorizationServerAuthenticationEntryPoint" 49                     class="org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint" /> 50  51         <authentication-manager id="oauth2AuthorizationServerAuthenticationManager"> 52             <authentication-provider user-service-ref="oauth2AuthorizationServerClientDetailsUserService"> 53                 <password-encoder ref="passwordEncoder" /> 54             </authentication-provider> 55         </authentication-manager> 56  57         <beans:bean id="oauth2AuthorizationServerUserApprovalHandler" 58                     class="org.springframework.security.oauth2.provider.approval.TokenStoreUserApprovalHandler" > 59             <beans:property name="tokenStore" ref="oauth2AuthorizationServerTokenStore" /> 60             <beans:property name="clientDetailsService" ref="clientDetailsService" /> 61             <beans:property name="requestFactory"> 62                 <beans:bean class="org.springframework.security.oauth2.provider.request.DefaultOAuth2RequestFactory"> 63                     <beans:constructor-arg ref="clientDetailsService"/> 64                 </beans:bean> 65             </beans:property> 66         </beans:bean> 67  68         <beans:bean id="oauth2AuthorizationServerAccessDeniedHandler" 69                     class="org.springframework.security.oauth2.provider.error.OAuth2AccessDeniedHandler" /> 70  71         <oauth2:authorization-server 72                      token-services-ref="oauth2AuthorizationServerTokenServices" 73                      client-details-service-ref="clientDetailsService" 74                      user-approval-handler-ref="oauth2AuthorizationServerUserApprovalHandler" 75                      user-approval-page="oauth/authorize" 76                      error-page="oauth/error" > 77             <oauth2:authorization-code /> 78             <!--<oauth2:implicit />--> 79             <oauth2:refresh-token /> 80             <!--<oauth2:client-credentials />--> 81             <oauth2:password /> 82         </oauth2:authorization-server> 83  84         <http pattern="/oauth/token" use-s="true" create-session="stateless" 85               authentication-manager-ref="oauth2AuthorizationServerAuthenticationManager" 86               entry-point-ref="oauth2AuthorizationServerAuthenticationEntryPoint"> 87             <intercept-url pattern="/oauth/token" access="isFullyAuthenticated()"/> 88             <http-basic /> 89             <access-denied-handler ref="oauth2AuthorizationServerAccessDeniedHandler"/> 90             <csrf disabled="true"/> 91         </http> 92     </beans:beans> 93  94     <beans:beans profile="rest-security-oauth,oauth-resource-server"> 95         <beans:bean id="oauth2ResourceServerJwtAccessTokenConverter" class="org.springframework.security.oauth2.provider.token.store.JwtAccessTokenConverter" > 96             <beans:property name="verifierKey" ref="jwtVerifierKey"/> 97         </beans:bean> 98  99         <beans:bean id="oauth2ResourceServerTokenStore" class="org.springframework.security.oauth2.provider.token.store.JwtTokenStore" >100             <beans:constructor-arg ref="oauth2ResourceServerJwtAccessTokenConverter"/>101         </beans:bean>102 103         <beans:bean id="oauth2ResourceServerTokenServices"104                     class="org.springframework.security.oauth2.provider.token.DefaultTokenServices">105             <beans:property name="tokenStore" ref="oauth2ResourceServerTokenStore" />106             <beans:property name="clientDetailsService" ref="clientDetailsService" />107             <beans:property name="tokenEnhancer" ref="oauth2ResourceServerJwtAccessTokenConverter" />108             <beans:property name="supportRefreshToken" value="true" />109         </beans:bean>110 111         <beans:bean id="oauth2ResourceServerAccessDecisionManager" class="org.springframework.security.access.vote.UnanimousBased">112             <beans:constructor-arg>113                 <beans:list>114                     <beans:bean class="org.springframework.security.oauth2.provider.vote.ScopeVoter"/>115                     <beans:bean class="org.springframework.security.access.vote.AuthenticatedVoter"/>116                 </beans:list>117             </beans:constructor-arg>118         </beans:bean>119 120         <beans:bean id="oauth2ResourceServerAuthenticationEntryPoint"121                     class="org.springframework.security.oauth2.provider.error.OAuth2AuthenticationEntryPoint" />122 123         <beans:bean id="oauth2ResourceServerAccessDeniedHandler"124                     class="org.springframework.security.oauth2.provider.error.OAuth2AccessDeniedHandler" />125 126         <oauth2:resource-server id="oauth2ResourceServerFilter" resource-id="${oauth.resourceId}" token-services-ref="oauth2ResourceServerTokenServices" />127 128         <http pattern="${rest.rooturl}/**" use-s="false" create-session="stateless"129               entry-point-ref="oauth2ResourceServerAuthenticationEntryPoint"130               access-decision-manager-ref="oauth2ResourceServerAccessDecisionManager">131 132             <intercept-url pattern="${rest.rooturl}/security/**" access="SCOPE_SECURITY"/>133             <intercept-url pattern="${rest.rooturl}/demo/**" access="IS_AUTHENTICATED_FULLY"/>134             <intercept-url pattern="${rest.rooturl}/**" access="DENY_OAUTH"/>135 136             <custom-filter ref="oauth2ResourceServerFilter" before="PRE_AUTH_FILTER"/>137             <access-denied-handler ref="oauth2ResourceServerAccessDeniedHandler"/>138             <csrf disabled="true"/>139         </http>140     </beans:beans>141 142     <beans:beans profile="rest-security-basic">143         <http pattern="${rest.rooturl}/**" use-s="true" create-session="stateless">144             <intercept-url pattern="${rest.rooturl}/**" access="isFullyAuthenticated()"/>145             <http-basic />146             <csrf disabled="true"/>147         </http>148     </beans:beans>149 150     <beans:beans profile="rest-security-none">151         <http security="none" pattern="${rest.rooturl}/**" />152     </beans:beans>153 154     <beans:beans profile="web-security-none">155         <http security="none" pattern="/**" />156     </beans:beans>157 158     <beans:beans profile="web-security-local,web-security-ldap">159         <http use-s="true">160 161             <intercept-url pattern="/login" access="permitAll" />162             <intercept-url pattern="/login/**" access="permitAll" />163             <intercept-url pattern="/logout" access="permitAll" />164             <intercept-url pattern="/oauth/**" access="isFullyAuthenticated()" />165             <intercept-url pattern="/**" access="isFullyAuthenticated()" />166             <form-login login-page="/login" login-processing-url="/login"167                 authentication-failure-url="/login?error"168                 default-target-url="/" username-parameter="username"169                 password-parameter="password" />170             <logout logout-url="/logout" logout-success-url="/login?loggedOut"171                 invalidate-session="true" delete-cookies="JSESSIONID" />172 173             <session-management invalid-session-url="/login"174                 session-fixation-protection="migrateSession">175                 <concurrency-control max-sessions="1"176                     error-if-maximum-exceeded="false"177                     session-registry-ref="sessionRegistry" />178             </session-management>179 180             <csrf disabled="true" />181 182         </http>183     </beans:beans>184 185     <beans:beans profile="web-security-local">186         <authentication-manager>187             <authentication-provider user-service-ref="userDetailsService">188                 <password-encoder ref="passwordEncoder" />189             </authentication-provider>190         </authentication-manager>191     </beans:beans>192 193     <beans:beans profile="web-security-ldap">194         <authentication-manager>195             <authentication-provider ref="ldapAuthenticationProvider" />196         </authentication-manager>197 198         <beans:bean id="ldapAuthenticationProvider"199             class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">200             <beans:constructor-arg index="0"201                 ref="ldapAuthenticator" />202             <beans:constructor-arg index="1"203                 ref="ldapAuthoritiesPopulator" />204         </beans:bean>205 206         <beans:bean id="ldapAuthenticator"207             class="org.springframework.security.ldap.authentication.BindAuthenticator">208             <beans:constructor-arg ref="ldapContextSource" />209             <beans:property name="userSearch" ref="ldapUserSearch" />210         </beans:bean>211 212         <beans:bean id="ldapUserSearch"213             class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">214             <beans:constructor-arg index="0"215                 value="${ldap.searchBase}" />216             <beans:constructor-arg index="1"217                 value="${ldap.searchFilter}" />218             <beans:constructor-arg index="2"219                 ref="ldapContextSource" />220         </beans:bean>221 222         <beans:bean id="ldapContextSource"223             class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">224             <beans:constructor-arg value="${ldap.url}" />225             <beans:property name="userDn" value="${ldap.userDN}" />226             <beans:property name="password" value="${ldap.password}" />227         </beans:bean>228 229         <beans:bean id="ldapAuthoritiesPopulator"230             class="org.springframework.security.ldap.authentication.UserDetailsServiceLdapAuthoritiesPopulator">231             <beans:constructor-arg ref="userDetailsService" />232         </beans:bean>233     </beans:beans>234 235     <beans:beans profile="web-security-cas">236         <http use-s="true" auto-config="false" entry-point-ref="casEntryPoint" servlet-api-provision="true">237             <intercept-url pattern="${cas.localSystemLoginUrl}" access="permitAll" />238             <intercept-url pattern="/logout" access="permitAll" />239             <intercept-url pattern="/**" access="isFullyAuthenticated()" />240             <custom-filter position="CAS_FILTER" ref="casFilter"/>241             <custom-filter before="CAS_FILTER" ref="singleLogoutFilter" />242             <custom-filter before="LOGOUT_FILTER" ref="requestSingleLogoutFilter" />243             <logout logout-url="/logout" logout-success-url="/login?loggedOut"244                 invalidate-session="true" delete-cookies="JSESSIONID" />245 246             <session-management invalid-session-url="/login"247                 session-fixation-protection="migrateSession">248                 <concurrency-control max-sessions="1"249                     error-if-maximum-exceeded="false" />250             </session-management>251 252             <csrf disabled="true" />253 254         </http>255 256         <authentication-manager alias="authenticationManager">257             <authentication-provider ref="casAuthenticationProvider" />258         </authentication-manager>259 260         <beans:bean id="serviceProperties"261             class="org.springframework.security.cas.ServiceProperties">262             <beans:property name="service"263                 value="${cas.localSystemUrl}${cas.localSystemLoginUrl}" />264             <beans:property name="sendRenew" value="false" />265         </beans:bean>266 267         <beans:bean id="casEntryPoint"268             class="org.springframework.security.cas.web.CasAuthenticationEntryPoint">269             <beans:property name="loginUrl" value="${cas.loginUrl}" />270             <beans:property name="serviceProperties" ref="serviceProperties" />271         </beans:bean>272 273         <beans:bean id="casAuthenticationProvider"274             class="org.springframework.security.cas.authentication.CasAuthenticationProvider">275             <beans:property name="userDetailsService" ref="userDetailsService" />276             <beans:property name="serviceProperties" ref="serviceProperties" />277             <beans:property name="ticketValidator">278                 <beans:bean279                     class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">280                     <beans:constructor-arg index="0"281                         value="${cas.url}" />282                 </beans:bean>283             </beans:property>284             <beans:property name="key"285                 value="an_id_for_this_auth_provider_only" />286         </beans:bean>287 288         <beans:bean id="casFilter"289             class="org.springframework.security.cas.web.CasAuthenticationFilter">290             <beans:property name="authenticationManager" ref="authenticationManager" />291             <beans:property name="filterProcessesUrl" value="${cas.localSystemLoginUrl}" />292         </beans:bean>293 294         <beans:bean id="singleLogoutFilter"295             class="org.jasig.cas.client.session.SingleSignOutFilter" />296 297         <beans:bean id="requestSingleLogoutFilter"298             class="org.springframework.security.web.authentication.logout.LogoutFilter">299             <beans:constructor-arg value="${cas.logoutUrl}" />300             <beans:constructor-arg>301                 <beans:bean302                     class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" />303             </beans:constructor-arg>304             <beans:property name="filterProcessesUrl" value="/logout" />305         </beans:bean>306     </beans:beans>307 308 </beans:beans>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
SpringSecurity3整合CAS实现单点登录
CAS单点登录之mysql数据库用户验证及常见问题
spring security 3.1配置过程从简单到复杂详细配置
SpringSecurity安全框架搭建
Spring Security笔记:使用数据库进行用户认证(form login using database)
使用Spring Security实现权限管理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服