实例介绍
Spring Security开发安全的REST服务源码完整版,注意是源码,没有视频
【实例截图】
【核心代码】
security-master
└── security-master
├── README.md
├── imooc-security
│ ├── doc
│ │ ├── application-example.properties
│ │ ├── db.sql
│ │ ├── extends.txt
│ │ └── readme.txt
│ └── pom.xml
├── imooc-security-app
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── imooc
│ └── security
│ ├── app
│ │ ├── AppSecretException.java
│ │ ├── AppSecurityController.java
│ │ ├── authentication
│ │ │ ├── ImoocAuthenctiationFailureHandler.java
│ │ │ ├── ImoocAuthenticationSuccessHandler.java
│ │ │ ├── openid
│ │ │ │ ├── OpenIdAuthenticationFilter.java
│ │ │ │ ├── OpenIdAuthenticationProvider.java
│ │ │ │ ├── OpenIdAuthenticationSecurityConfig.java
│ │ │ │ ├── OpenIdAuthenticationToken.java
│ │ │ │ └── package-info.java
│ │ │ └── package-info.java
│ │ ├── package-info.java
│ │ ├── social
│ │ │ ├── AppSingUpUtils.java
│ │ │ └── SpringSocialConfigurerPostProcessor.java
│ │ └── validate
│ │ └── code
│ │ └── impl
│ │ ├── RedisValidateCodeRepository.java
│ │ └── package-info.java
│ └── server
│ ├── ImoocAuthorizationServerConfig.java
│ ├── ImoocResourceServerConfig.java
│ ├── TokenJwtEnhancer.java
│ ├── TokenStoreConfig.java
│ └── package-info.java
├── imooc-security-authorize
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── imooc
│ │ └── security
│ │ └── rbac
│ │ ├── authentication
│ │ │ ├── RbacUserDetailsService.java
│ │ │ └── package-info.java
│ │ ├── authorize
│ │ │ ├── RbacAuthorizeConfigProvider.java
│ │ │ └── package-info.java
│ │ ├── domain
│ │ │ ├── Admin.java
│ │ │ ├── Resource.java
│ │ │ ├── ResourceType.java
│ │ │ ├── Role.java
│ │ │ ├── RoleAdmin.java
│ │ │ ├── RoleResource.java
│ │ │ └── package-info.java
│ │ ├── dto
│ │ │ ├── AdminCondition.java
│ │ │ ├── AdminInfo.java
│ │ │ ├── ResourceInfo.java
│ │ │ ├── RoleInfo.java
│ │ │ └── package-info.java
│ │ ├── init
│ │ │ ├── AbstractDataInitializer.java
│ │ │ ├── AdminDataInitializer.java
│ │ │ ├── DataInitializer.java
│ │ │ ├── SystemDataInitializer.java
│ │ │ └── package-info.java
│ │ ├── package-info.java
│ │ ├── repository
│ │ │ ├── AdminRepository.java
│ │ │ ├── ImoocRepository.java
│ │ │ ├── ResourceRepository.java
│ │ │ ├── RoleAdminRepository.java
│ │ │ ├── RoleRepository.java
│ │ │ ├── RoleResourceRepository.java
│ │ │ ├── package-info.java
│ │ │ ├── spec
│ │ │ │ ├── AdminSpec.java
│ │ │ │ └── package-info.java
│ │ │ └── support
│ │ │ ├── AbstractConditionBuilder.java
│ │ │ ├── AbstractDomain2InfoConverter.java
│ │ │ ├── AbstractEventConditionBuilder.java
│ │ │ ├── Domain2InfoConverter.java
│ │ │ ├── GenericUtils.java
│ │ │ ├── ImoocImplicitNamingStrategy.java
│ │ │ ├── ImoocSpecification.java
│ │ │ ├── QueryResultConverter.java
│ │ │ ├── QueryWraper.java
│ │ │ └── package-info.java
│ │ ├── service
│ │ │ ├── AdminService.java
│ │ │ ├── RbacService.java
│ │ │ ├── ResourceService.java
│ │ │ ├── RoleService.java
│ │ │ ├── impl
│ │ │ │ ├── AdminServiceImpl.java
│ │ │ │ ├── RbacServiceImpl.java
│ │ │ │ ├── ResourceServiceImpl.java
│ │ │ │ ├── RoleServiceImpl.java
│ │ │ │ └── package-info.java
│ │ │ └── package-info.java
│ │ └── web
│ │ └── controller
│ │ ├── AdminController.java
│ │ ├── ResourceController.java
│ │ ├── RoleController.java
│ │ ├── package-info.java
│ │ └── support
│ │ ├── SimpleResponse.java
│ │ └── package-info.java
│ └── resources
│ └── resources
│ ├── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ ├── fontawesome-webfont.woff2
│ │ ├── glyphicons-halflings-regular.eot
│ │ ├── glyphicons-halflings-regular.svg
│ │ ├── glyphicons-halflings-regular.ttf
│ │ ├── glyphicons-halflings-regular.woff
│ │ ├── glyphicons-halflings-regular.woff2
│ │ ├── ionicons.eot
│ │ ├── ionicons.svg
│ │ ├── ionicons.ttf
│ │ └── ionicons.woff
│ ├── manage.html
│ ├── scripts
│ │ ├── app.js
│ │ ├── commons
│ │ │ ├── admin.js
│ │ │ └── common.js
│ │ ├── framework
│ │ │ ├── angular-animate.min.js
│ │ │ ├── angular-cookies.min.js
│ │ │ ├── angular-deckgrid.js
│ │ │ ├── angular-locale_zh-cn.js
│ │ │ ├── angular-resource.min.js
│ │ │ ├── angular-sanitize.min.js
│ │ │ ├── angular-touch.min.js
│ │ │ ├── angular-tree-control.js
│ │ │ ├── angular-ui-router.min.js
│ │ │ ├── angular.min.js
│ │ │ ├── canvas-to-blob.min.js
│ │ │ ├── city-picker.min.js
│ │ │ ├── iscroll-infinite.js
│ │ │ ├── iscroll-lite.js
│ │ │ ├── iscroll-probe.js
│ │ │ ├── iscroll-zoom.js
│ │ │ ├── iscroll.js
│ │ │ ├── jquery-2.1.4.js
│ │ │ ├── jquery-weui.js
│ │ │ ├── jquery-weui.min.js
│ │ │ ├── jquery.blueimp-gallery.min.js
│ │ │ ├── jquery.min.js
│ │ │ ├── jquery.slimscroll.min.js
│ │ │ ├── load-image.all.min.js
│ │ │ ├── mbdatepicker.js
│ │ │ ├── mobiscroll.custom-2.17.2.min.js
│ │ │ ├── moment.min.js
│ │ │ ├── ng-infinite-scroll.min.js
│ │ │ ├── ng-iscroll.js
│ │ │ ├── plugins
│ │ │ │ ├── advlist
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── anchor
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── autolink
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── autoresize
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── autosave
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── bbcode
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── charmap
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── code
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── codesample
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── prism.css
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── colorpicker
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── contextmenu
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── directionality
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── emoticons
│ │ │ │ │ ├── img
│ │ │ │ │ │ ├── smiley-cool.gif
│ │ │ │ │ │ ├── smiley-cry.gif
│ │ │ │ │ │ ├── smiley-embarassed.gif
│ │ │ │ │ │ ├── smiley-foot-in-mouth.gif
│ │ │ │ │ │ ├── smiley-frown.gif
│ │ │ │ │ │ ├── smiley-innocent.gif
│ │ │ │ │ │ ├── smiley-kiss.gif
│ │ │ │ │ │ ├── smiley-laughing.gif
│ │ │ │ │ │ ├── smiley-money-mouth.gif
│ │ │ │ │ │ ├── smiley-sealed.gif
│ │ │ │ │ │ ├── smiley-smile.gif
│ │ │ │ │ │ ├── smiley-surprised.gif
│ │ │ │ │ │ ├── smiley-tongue-out.gif
│ │ │ │ │ │ ├── smiley-undecided.gif
│ │ │ │ │ │ ├── smiley-wink.gif
│ │ │ │ │ │ └── smiley-yell.gif
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── fullpage
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── fullscreen
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── hr
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── image
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── imagetools
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── importcss
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── insertdatetime
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── layer
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── legacyoutput
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── link
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── lists
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── media
│ │ │ │ │ ├── moxieplayer.swf
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── nonbreaking
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── noneditable
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── pagebreak
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── paste
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── preview
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── save
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── searchreplace
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── spellchecker
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── tabfocus
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── table
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── template
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── textcolor
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── textpattern
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── visualblocks
│ │ │ │ │ ├── css
│ │ │ │ │ │ └── visualblocks.css
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ ├── visualchars
│ │ │ │ │ ├── plugin.js
│ │ │ │ │ └── plugin.min.js
│ │ │ │ └── wordcount
│ │ │ │ ├── plugin.js
│ │ │ │ └── plugin.min.js
│ │ │ ├── select.js
│ │ │ ├── select.min.js
│ │ │ ├── simplify.js
│ │ │ ├── simplify_dashboard.js
│ │ │ ├── skins
│ │ │ │ └── lightgray
│ │ │ │ ├── content.inline.min.css
│ │ │ │ ├── content.min.css
│ │ │ │ ├── fonts
│ │ │ │ │ ├── tinymce-small.eot
│ │ │ │ │ ├── tinymce-small.svg
│ │ │ │ │ ├── tinymce-small.ttf
│ │ │ │ │ ├── tinymce-small.woff
│ │ │ │ │ ├── tinymce.eot
│ │ │ │ │ ├── tinymce.svg
│ │ │ │ │ ├── tinymce.ttf
│ │ │ │ │ └── tinymce.woff
│ │ │ │ ├── img
│ │ │ │ │ ├── anchor.gif
│ │ │ │ │ ├── loader.gif
│ │ │ │ │ ├── object.gif
│ │ │ │ │ └── trans.gif
│ │ │ │ ├── skin.ie7.min.css
│ │ │ │ └── skin.min.css
│ │ │ ├── swiper-3.3.1.min.js
│ │ │ ├── themes
│ │ │ │ └── modern
│ │ │ │ ├── theme.js
│ │ │ │ └── theme.min.js
│ │ │ ├── tinymce.js
│ │ │ ├── tinymce.min.js
│ │ │ ├── toastr.min.js
│ │ │ ├── ui-bootstrap-tpls.min.js
│ │ │ ├── ui-bootstrap.min.js
│ │ │ └── uploader.min.js
│ │ └── platform
│ │ ├── controller
│ │ │ ├── adminController.js
│ │ │ ├── resourceController.js
│ │ │ ├── roleController.js
│ │ │ └── sidebarController.js
│ │ └── module.js
│ ├── styles
│ │ ├── blueimp-gallery.min.css
│ │ ├── bootstrap.min.css
│ │ ├── font-awesome.min.css
│ │ ├── frozen.css
│ │ ├── icons_mobiscroll.eot
│ │ ├── icons_mobiscroll.svg
│ │ ├── icons_mobiscroll.ttf
│ │ ├── icons_mobiscroll.woff
│ │ ├── images
│ │ │ └── spinner.gif
│ │ ├── ionicons.min.css
│ │ ├── jquery.fileupload-ui.css
│ │ ├── jquery.fileupload.css
│ │ ├── main.css
│ │ ├── mbdatepicker.css
│ │ ├── mobiscroll.custom-2.17.2.min.css
│ │ ├── pzx-index.css
│ │ ├── select.min.css
│ │ ├── simplify.min.css
│ │ ├── style.css
│ │ ├── swiper-3.3.1.min.css
│ │ ├── toastr.min.css
│ │ ├── tree-control-attribute.css
│ │ └── tree-control.css
│ └── views
│ ├── commons
│ │ ├── confirm.html
│ │ ├── partials
│ │ │ ├── content.html
│ │ │ ├── offsidebar.html
│ │ │ ├── sidebar.html
│ │ │ └── top-navbar.html
│ │ └── password.html
│ ├── main.html
│ └── platform
│ ├── adminForm.html
│ ├── adminManage.html
│ ├── resourceForm.html
│ ├── resourceManage.html
│ ├── roleForm.html
│ └── roleManage.html
├── imooc-security-browser
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── imooc
│ │ └── security
│ │ └── browser
│ │ ├── BrowserSecurityBeanConfig.java
│ │ ├── BrowserSecurityConfig.java
│ │ ├── BrowserSecurityController.java
│ │ ├── authentication
│ │ │ ├── ImoocAuthenctiationFailureHandler.java
│ │ │ └── ImoocAuthenticationSuccessHandler.java
│ │ ├── authorize
│ │ │ ├── BrowserAuthorizeConfigProvider.java
│ │ │ └── package-info.java
│ │ ├── logout
│ │ │ └── ImoocLogoutSuccessHandler.java
│ │ ├── session
│ │ │ ├── AbstractSessionStrategy.java
│ │ │ ├── ImoocExpiredSessionStrategy.java
│ │ │ └── ImoocInvalidSessionStrategy.java
│ │ └── validate
│ │ └── code
│ │ └── impl
│ │ ├── SessionValidateCodeRepository.java
│ │ └── package-info.java
│ └── resources
│ └── resources
│ ├── imooc-banding.html
│ ├── imooc-logout.html
│ ├── imooc-session-invalid.html
│ ├── imooc-signIn.html
│ └── imooc-signUp.html
├── imooc-security-core
│ ├── pom.xml
│ └── src
│ └── main
│ └── java
│ └── com
│ └── imooc
│ └── security
│ └── core
│ ├── SecurityCoreConfig.java
│ ├── authentication
│ │ ├── AuthenticationBeanConfig.java
│ │ ├── DefaultSocialUserDetailsService.java
│ │ ├── DefaultUserDetailsService.java
│ │ ├── FormAuthenticationConfig.java
│ │ └── mobile
│ │ ├── SmsCodeAuthenticationFilter.java
│ │ ├── SmsCodeAuthenticationProvider.java
│ │ ├── SmsCodeAuthenticationSecurityConfig.java
│ │ └── SmsCodeAuthenticationToken.java
│ ├── authorize
│ │ ├── AuthorizeConfigManager.java
│ │ ├── AuthorizeConfigProvider.java
│ │ ├── ImoocAuthorizeConfigManager.java
│ │ ├── ImoocAuthorizeConfigProvider.java
│ │ └── package-info.java
│ ├── properties
│ │ ├── BrowserProperties.java
│ │ ├── ImageCodeProperties.java
│ │ ├── LoginResponseType.java
│ │ ├── OAuth2ClientProperties.java
│ │ ├── OAuth2Properties.java
│ │ ├── QQProperties.java
│ │ ├── SecurityConstants.java
│ │ ├── SecurityProperties.java
│ │ ├── SessionProperties.java
│ │ ├── SmsCodeProperties.java
│ │ ├── SocialProperties.java
│ │ ├── ValidateCodeProperties.java
│ │ └── WeixinProperties.java
│ ├── social
│ │ ├── SocialConfig.java
│ │ ├── SocialController.java
│ │ │ ├── api
│ │ │ │ ├── QQ.java
│ │ │ │ ├── QQImpl.java
│ │ │ │ └── QQUserInfo.java
│ │ │ ├── config
│ │ │ │ └── QQAutoConfig.java
│ │ │ └── connet
│ │ │ ├── QQAdapter.java
│ │ │ ├── QQConnectionFactory.java
│ │ │ ├── QQOAuth2Template.java
│ │ │ └── QQServiceProvider.java
│ │ ├── support
│ │ │ ├── ImoocSpringSocialConfigurer.java
│ │ │ ├── SocialAuthenticationFilterPostProcessor.java
│ │ │ ├── SocialUserInfo.java
│ │ │ └── package-info.java
│ │ ├── view
│ │ │ ├── ImoocConnectView.java
│ │ │ ├── ImoocConnectionStatusView.java
│ │ │ └── package-info.java
│ │ └── weixin
│ │ ├── api
│ │ │ ├── Weixin.java
│ │ │ ├── WeixinImpl.java
│ │ │ └── WeixinUserInfo.java
│ │ ├── config
│ │ │ └── WeixinAutoConfiguration.java
│ │ └── connect
│ │ ├── WeixinAccessGrant.java
│ │ ├── WeixinAdapter.java
│ │ ├── WeixinConnectionFactory.java
│ │ ├── WeixinOAuth2Template.java
│ │ └── WeixinServiceProvider.java
│ ├── support
│ │ ├── SimpleResponse.java
│ │ └── package-info.java
│ └── validate
│ └── code
│ ├── ValidateCode.java
│ ├── ValidateCodeBeanConfig.java
│ ├── ValidateCodeController.java
│ ├── ValidateCodeException.java
│ ├── ValidateCodeFilter.java
│ ├── ValidateCodeGenerator.java
│ ├── ValidateCodeProcessor.java
│ ├── ValidateCodeProcessorHolder.java
│ ├── ValidateCodeRepository.java
│ ├── ValidateCodeSecurityConfig.java
│ ├── ValidateCodeType.java
│ ├── image
│ │ ├── ImageCode.java
│ │ ├── ImageCodeGenerator.java
│ │ └── ImageCodeProcessor.java
│ ├── impl
│ │ └── AbstractValidateCodeProcessor.java
│ └── sms
│ ├── DefaultSmsCodeSender.java
│ ├── SmsCodeGenerator.java
│ ├── SmsCodeProcessor.java
│ └── SmsCodeSender.java
├── imooc-security-demo
│ ├── pom.xml
│ └── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── imooc
│ │ │ ├── DemoApplication.java
│ │ │ ├── code
│ │ │ │ └── DemoImageCodeGenerator.java
│ │ │ ├── dto
│ │ │ │ ├── FileInfo.java
│ │ │ │ ├── User.java
│ │ │ │ └── UserQueryCondition.java
│ │ │ ├── exception
│ │ │ │ └── UserNotExistException.java
│ │ │ ├── security
│ │ │ │ ├── DemoAuthorizeConifgProvider.java
│ │ │ │ ├── DemoConnectionSignUp.java
│ │ │ │ └── DemoUserDetailsService.java
│ │ │ ├── service
│ │ │ │ ├── HelloService.java
│ │ │ │ └── impl
│ │ │ │ └── HelloServiceImpl.java
│ │ │ ├── validator
│ │ │ │ ├── MyConstraint.java
│ │ │ │ ├── MyConstraintValidator.java
│ │ │ │ ├── ValidateAspect.java
│ │ │ │ └── ValidateException.java
│ │ │ ├── web
│ │ │ │ ├── aspect
│ │ │ │ │ └── TimeAspect.java
│ │ │ │ ├── async
│ │ │ │ │ ├── AsyncController.java
│ │ │ │ │ ├── DeferredResultHolder.java
│ │ │ │ │ ├── MockQueue.java
│ │ │ │ │ └── QueueListener.java
│ │ │ │ ├── config
│ │ │ │ │ └── WebConfig.java
│ │ │ │ ├── controller
│ │ │ │ │ ├── 1502737350361.txt
│ │ │ │ │ ├── ControllerExceptionHandler.java
│ │ │ │ │ ├── FileController.java
│ │ │ │ │ └── UserController.java
│ │ │ │ ├── filter
│ │ │ │ │ └── TimeFilter.java
│ │ │ │ └── interceptor
│ │ │ │ └── TimeInterceptor.java
│ │ │ └── wiremock
│ │ │ └── MockServer.java
│ │ └── resources
│ │ ├── application.properties
│ │ ├── mock
│ │ │ └── response
│ │ │ ├── 01.txt
│ │ │ └── 02.txt
│ │ └── resources
│ │ ├── demo-binding.html
│ │ ├── demo-logout.html
│ │ ├── demo-signIn.html
│ │ ├── demo-signUp.html
│ │ ├── demo.html
│ │ ├── error
│ │ │ ├── 403.html
│ │ │ ├── 404.html
│ │ │ └── 500.html
│ │ └── index.html
│ └── test
│ └── java
│ └── com
│ └── imooc
│ └── web
│ └── controller
│ └── UserControllerTest.java
├── sso-client1
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── imooc
│ │ └── sso
│ │ └── client
│ │ ├── SsoClient1Application.java
│ │ └── package-info.java
│ └── resources
│ ├── application.properties
│ └── static
│ └── index.html
├── sso-client2
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── imooc
│ │ └── sso
│ │ └── client
│ │ ├── SsoClient2Application.java
│ │ └── package-info.java
│ └── resources
│ ├── application.properties
│ └── static
│ └── index.html
├── sso-demo
│ └── pom.xml
├── sso-server
│ ├── pom.xml
│ └── src
│ └── main
│ ├── java
│ │ └── com
│ │ └── imooc
│ │ ├── SsoServerApplication.java
│ │ └── sso
│ │ └── server
│ │ ├── SsoApprovalEndpoint.java
│ │ ├── SsoAuthorizationServerConfig.java
│ │ ├── SsoSecurityConfig.java
│ │ ├── SsoSpelView.java
│ │ ├── SsoUserDetailsService.java
│ │ └── package-info.java
│ └── resources
│ ├── application.properties
│ └── temp.html
└── test
├── pom.xml
└── src
└── main
├── java
│ └── com
│ └── imooc
│ ├── TestApplication.java
│ └── package-info.java
└── resources
├── application.properties
└── resources
└── index.html
221 directories, 468 files
标签:
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论