实例介绍
# sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库生成语句,采用的是MySQL5.0,数据库名为db_test 3. spring-node-1: 应用1 4. spring-node-2: 应用2 其中node1跟node2都是采用spring + springMVC + mybatis 框架,使用maven做项目管理 ## cas集成说明 1.首先采用的是查数据库的方式来校验用户身份的,在cas/WEB-INF/deployerConfigContext.xml中第135行构建了这个类型 ``` xml ``` 其中QueryDatabaseAuthenticationHandler这个类是自定义构建的,在cas/WEB-INF/lib/cas-jdbc-1.0.0.jar里面,有兴趣的同学可以发编译看下,关于几个属性的说明 1. dataSource: 数据源,配置MySQL的连接信息 2. passwordEncoder: 加密方式,这里用的是MD5 3. sql: sql查询语句,这个语句就是根据用户输入的账号查询其密码 #### 以上就是单点登录管理的主要配置 ## 应用系统的配置node1 1. 应用系统采用shiro做权限控制,并且跟cas集成 2. 在/spring-node-1/src/main/resources/conf/shiro.properties 文件中 ``` properties shiro.loginUrl=http://127.0.0.1:8080/cas/login?service=http://127.0.0.1:8081/node1/shiro-cas shiro.logoutUrl=http://127.0.0.1:8080/cas/logout?service=http://127.0.0.1:8081/node1/shiro-cas shiro.cas.serverUrlPrefix=http://127.0.0.1:8080/cas shiro.cas.service=http://127.0.0.1:8081/node1/
【实例截图】
【核心代码】
qw5889-9657603-单点登录sso-shiro-cas-maven.zip
└── sso-shiro-cas
├── cas
│ ├── bootstrap
│ │ ├── css
│ │ │ └── bootstrap.min.css
│ │ ├── fonts
│ │ │ ├── glyphicons-halflings-regular.eot
│ │ │ ├── glyphicons-halflings-regular.svg
│ │ │ ├── glyphicons-halflings-regular.ttf
│ │ │ └── glyphicons-halflings-regular.woff
│ │ └── js
│ │ └── bootstrap.min.js
│ ├── css
│ │ ├── blue.css
│ │ ├── brown.css
│ │ ├── cas.css
│ │ ├── dark.css
│ │ ├── eastern_blue.css
│ │ ├── green.css
│ │ ├── ie.css
│ │ ├── style.css
│ │ └── tamarillo.css
│ ├── favicon.ico
│ ├── gallery
│ │ ├── Image01.jpg
│ │ ├── Image01_tn.jpg
│ │ ├── Image02.jpg
│ │ ├── Image02_tn.jpg
│ │ ├── Image03.jpg
│ │ ├── Image03_tn.jpg
│ │ ├── Image04.jpg
│ │ ├── Image04_tn.jpg
│ │ ├── Image05.jpg
│ │ ├── Image05_tn.jpg
│ │ ├── Image06.jpg
│ │ ├── Image06_tn.jpg
│ │ ├── Image07.jpg
│ │ ├── Image07_tn.jpg
│ │ ├── Image08.jpg
│ │ ├── Image08_tn.jpg
│ │ ├── Image09.jpg
│ │ ├── Image09_tn.jpg
│ │ ├── Image10.jpg
│ │ ├── Image10_tn.jpg
│ │ ├── Image11.jpg
│ │ ├── Image11_tn.jpg
│ │ ├── Image12.jpg
│ │ ├── Image12_tn.jpg
│ │ ├── Image13.jpg
│ │ ├── Image13_tn.jpg
│ │ ├── Image14.jpg
│ │ ├── Image14_tn.jpg
│ │ ├── Image15.jpg
│ │ ├── Image15_tn.jpg
│ │ ├── Image16.jpg
│ │ ├── Image16_tn.jpg
│ │ ├── Image17.jpg
│ │ ├── Image17_tn.jpg
│ │ ├── Image18.jpg
│ │ ├── Image18_tn.jpg
│ │ ├── Image19.jpg
│ │ ├── Image19_tn.jpg
│ │ ├── Image20.jpg
│ │ ├── Image20_tn.jpg
│ │ ├── Image21.jpg
│ │ ├── Image21_tn.jpg
│ │ ├── Image22.jpg
│ │ ├── Image22_tn.jpg
│ │ ├── Image23.jpg
│ │ ├── Image23_tn.jpg
│ │ ├── Image24.jpg
│ │ ├── Image24_tn.jpg
│ │ ├── Image25.jpg
│ │ ├── Image25_tn.jpg
│ │ ├── Image26.jpg
│ │ ├── Image26_tn.jpg
│ │ ├── Image27.jpg
│ │ ├── Image27_tn.jpg
│ │ ├── Image28.jpg
│ │ ├── Image28_tn.jpg
│ │ ├── Image29.jpg
│ │ └── Image29_tn.jpg
│ ├── images
│ │ ├── confirm.gif
│ │ ├── error.gif
│ │ ├── green.gif
│ │ ├── info.gif
│ │ ├── ja-sig-logo.gif
│ │ ├── key-point_bl.gif
│ │ ├── key-point_br.gif
│ │ ├── key-point_tl.gif
│ │ ├── key-point_tr.gif
│ │ ├── question.png
│ │ └── red.gif
│ ├── img
│ │ ├── acc_icons.png
│ │ ├── adt-icons.png
│ │ ├── bg_a.png
│ │ ├── bg_b.png
│ │ ├── bg_c.png
│ │ ├── bg_d.png
│ │ ├── bg_e.png
│ │ ├── bullet_blue.png
│ │ ├── bullet_green.png
│ │ ├── bullet_orange.png
│ │ ├── bullet_red.png
│ │ ├── error_big.png
│ │ ├── external_link.png
│ │ ├── flags
│ │ │ ├── flags.css
│ │ │ └── flags.png
│ │ ├── font-awesome
│ │ │ ├── css
│ │ │ │ └── font-awesome.min.css
│ │ │ └── font
│ │ │ ├── fontawesome-webfont.eot
│ │ │ ├── fontawesome-webfont.eot縱=3.2.1.eot
│ │ │ ├── fontawesome-webfont.svg
│ │ │ ├── fontawesome-webfont.ttf縱=3.2.1.ttf
│ │ │ └── fontawesome-webfont.woff縱=3.2.1.woff
│ │ ├── gCons
│ │ │ ├── add-item.png
│ │ │ ├── addressbook.png
│ │ │ ├── agent.png
│ │ │ ├── apple.png
│ │ │ ├── arrow-round.png
│ │ │ ├── badge.png
│ │ │ ├── bar-chart-02.png
│ │ │ ├── bar-chart.png
│ │ │ ├── battery-full.png
│ │ │ ├── bird.png
│ │ │ ├── boat.png
│ │ │ ├── bookmark.png
│ │ │ ├── briefcase.png
│ │ │ ├── calculator.png
│ │ │ ├── calendar.png
│ │ │ ├── cassette.png
│ │ │ ├── chain.png
│ │ │ ├── chat-02.png
│ │ │ ├── chat-.png
│ │ │ ├── cloud-filled.png
│ │ │ ├── cloud-outline.png
│ │ │ ├── computer.png
│ │ │ ├── configuration02.png
│ │ │ ├── configuration.png
│ │ │ ├── connected.png
│ │ │ ├── connections.png
│ │ │ ├── container.png
│ │ │ ├── copy-item.png
│ │ │ ├── database.png
│ │ │ ├── delete-item.png
│ │ │ ├── disc.png
│ │ │ ├── dollar.png
│ │ │ ├── download.png
│ │ │ ├── edit.png
│ │ │ ├── email.png
│ │ │ ├── fancy-globe.png
│ │ │ ├── fan.png
│ │ │ ├── female-user.png
│ │ │ ├── fire.png
│ │ │ ├── first-aid.png
│ │ │ ├── flag.png
│ │ │ ├── flower.png
│ │ │ ├── full-screen.png
│ │ │ ├── glasses.png
│ │ │ ├── globe.png
│ │ │ ├── happy-face.png
│ │ │ ├── headphone.png
│ │ │ ├── heart.png
│ │ │ ├── home.png
│ │ │ ├── ID.png
│ │ │ ├── ipod.png
│ │ │ ├── lab.png
│ │ │ ├── lady.png
│ │ │ ├── lamp.png
│ │ │ ├── leaves.png
│ │ │ ├── light.png
│ │ │ ├── line-globe.png
│ │ │ ├── lock.png
│ │ │ ├── lookup.png
│ │ │ ├── male-user.png
│ │ │ ├── microphone.png
│ │ │ ├── mobile2.png
│ │ │ ├── mobile.png
│ │ │ ├── mouse.png
│ │ │ ├── multi-agents.png
│ │ │ ├── music-node.png
│ │ │ ├── network-pc.png
│ │ │ ├── network.png
│ │ │ ├── next-item.png
│ │ │ ├── phone.png
│ │ │ ├── pie-chart.png
│ │ │ ├── pin.png
│ │ │ ├── plane.png
│ │ │ ├── print.png
│ │ │ ├── processing-02.png
│ │ │ ├── processing.png
│ │ │ ├── push-pin.png
│ │ │ ├── recycle-empty.png
│ │ │ ├── recycle-full.png
│ │ │ ├── reload.png
│ │ │ ├── rss.png
│ │ │ ├── satellite.png
│ │ │ ├── save.png
│ │ │ ├── scale.png
│ │ │ ├── Scissors.png
│ │ │ ├── screen.png
│ │ │ ├── search.png
│ │ │ ├── server.png
│ │ │ ├── shield.png
│ │ │ ├── shut-down.png
│ │ │ ├── star.png
│ │ │ ├── tag.png
│ │ │ ├── tap.png
│ │ │ ├── tree.png
│ │ │ ├── umbrella.png
│ │ │ ├── unlock.png
│ │ │ ├── usb.png
│ │ │ ├── van.png
│ │ │ ├── wifi.png
│ │ │ └── world.png
│ │ ├── logo.jpg
│ │ ├── poster.jpg
│ │ ├── sidebar_switch.png
│ │ ├── spinner_arrows.gif
│ │ ├── splashy
│ │ │ ├── splashy.css
│ │ │ └── splashy.png
│ │ ├── ui.totop.png
│ │ ├── user_avatar.png
│ │ ├── vid_local.png
│ │ ├── vid_vimeo.png
│ │ ├── vid_yt.png
│ │ └── vimeo.png
│ ├── index.jsp
│ ├── js
│ │ ├── cas.js
│ │ ├── jquery-1.10.2.js
│ │ ├── jquery.min.js
│ │ ├── jquery-ui-1.10.4.custom.min.js
│ │ └── login.js
│ ├── lib
│ │ ├── bootstrap-switch
│ │ │ └── static
│ │ │ ├── js
│ │ │ │ └── bootstrap-switch.min.js
│ │ │ └── stylesheets
│ │ │ └── bootstrap-switch.css
│ │ ├── chosen
│ │ │ ├── chosen.css
│ │ │ ├── chosen.jquery.min.js
│ │ │ ├── chosen-sprite@2x.png
│ │ │ └── chosen-sprite.png
│ │ ├── CLEditor
│ │ │ ├── images
│ │ │ │ └── buttons.gif
│ │ │ ├── jquery.cleditor.css
│ │ │ ├── jquery.cleditor.icon.min.js
│ │ │ └── jquery.cleditor.js
│ │ ├── colorbox
│ │ │ ├── colorbox.css
│ │ │ ├── images
│ │ │ │ ├── controls.png
│ │ │ │ └── loading.gif
│ │ │ └── jquery.colorbox.min.js
│ │ ├── colorpicker
│ │ │ ├── bootstrap-colorpicker.js
│ │ │ ├── css
│ │ │ │ └── colorpicker.css
│ │ │ └── img
│ │ │ ├── alpha.png
│ │ │ ├── hue.png
│ │ │ └── saturation.png
│ │ ├── complexify
│ │ │ └── jquery.complexify.min.js
│ │ ├── datatables
│ │ │ ├── extras
│ │ │ │ ├── Scroller
│ │ │ │ │ └── media
│ │ │ │ │ └── js
│ │ │ │ │ └── dataTables.scroller.min.js
│ │ │ │ └── TableTools
│ │ │ │ └── media
│ │ │ │ ├── css
│ │ │ │ │ └── TableTools.css
│ │ │ │ ├── images
│ │ │ │ │ ├── background.png
│ │ │ │ │ ├── collection_hover.png
│ │ │ │ │ ├── collection.png
│ │ │ │ │ ├── copy_hover.png
│ │ │ │ │ ├── copy.png
│ │ │ │ │ ├── csv_hover.png
│ │ │ │ │ ├── csv.png
│ │ │ │ │ ├── pdf_hover.png
│ │ │ │ │ ├── pdf.png
│ │ │ │ │ ├── print_hover.png
│ │ │ │ │ ├── print.png
│ │ │ │ │ ├── xls_hover.png
│ │ │ │ │ └── xls.png
│ │ │ │ └── js
│ │ │ │ ├── media
│ │ │ │ │ └── swf
│ │ │ │ │ └── copy_csv_xls_pdf.swf
│ │ │ │ ├── TableTools.min.js
│ │ │ │ └── ZeroClipboard.js
│ │ │ ├── images
│ │ │ │ ├── sort_asc_disabled.png
│ │ │ │ ├── sort_asc.png
│ │ │ │ ├── sort_both.png
│ │ │ │ ├── sort_desc_disabled.png
│ │ │ │ └── sort_desc.png
│ │ │ ├── jquery.dataTables.bootstrap.min.js
│ │ │ ├── jquery.dataTables.min.js
│ │ │ └── jquery.dataTables.sorting.js
│ │ ├── datepicker
│ │ │ ├── bootstrap-datepicker.min.js
│ │ │ └── datepicker.css
│ │ ├── dynatree
│ │ │ ├── dist
│ │ │ │ └── jquery.dynatree.min.js
│ │ │ └── src
│ │ │ └── skin
│ │ │ ├── icons_96x256.gif
│ │ │ ├── icons.gif
│ │ │ ├── loading.gif
│ │ │ ├── ltError.gif
│ │ │ ├── ui.dynatree.css
│ │ │ └── vline.gif
│ │ ├── floating_header
│ │ │ └── jquery.list.min.js
│ │ ├── flot
│ │ │ ├── excanvas.min.js
│ │ │ ├── jquery.flot.curvedLines.min.js
│ │ │ ├── jquery.flot.min.js
│ │ │ ├── jquery.flot.multihighlight.min.js
│ │ │ ├── jquery.flot.orderBars.min.js
│ │ │ ├── jquery.flot.pie.min.js
│ │ │ ├── jquery.flot.pyramid.js
│ │ │ └── jquery.flot.resize.min.js
│ │ ├── fullcalendar
│ │ │ ├── fullcalendar_gebo.css
│ │ │ ├── fullcalendar.min.js
│ │ │ └── gcal.js
│ │ ├── google-code-prettify
│ │ │ ├── prettify.css
│ │ │ └── prettify.min.js
│ │ ├── hint_css
│ │ │ └── hint.min.css
│ │ ├── jBreadcrumbs
│ │ │ ├── css
│ │ │ │ └── BreadCrumb.css
│ │ │ ├── Images
│ │ │ │ └── ChevronOverlay.png
│ │ │ └── js
│ │ │ └── jquery.jBreadCrumb.1.1.min.js
│ │ ├── jquery-ui
│ │ │ ├── css
│ │ │ │ └── Aristo
│ │ │ │ ├── Aristo.css
│ │ │ │ └── images
│ │ │ │ ├── bg_fallback.png
│ │ │ │ ├── icon_sprite.png
│ │ │ │ ├── progress_bar.gif
│ │ │ │ ├── slider_handles.png
│ │ │ │ ├── ui-icons_222222_256x240.png
│ │ │ │ └── ui-icons_454545_256x240.png
│ │ │ ├── external
│ │ │ │ └── globalize.js
│ │ │ └── jquery-ui-1.10.0.custom.min.js
│ │ ├── list_js
│ │ │ ├── list.min.js
│ │ │ └── plugins
│ │ │ └── paging
│ │ │ └── list.paging.min.js
│ │ ├── moment_js
│ │ │ └── moment.min.js
│ │ ├── multi-select
│ │ │ ├── css
│ │ │ │ └── multi-select.css
│ │ │ ├── img
│ │ │ │ └── switch.gif
│ │ │ └── js
│ │ │ ├── jquery.multi-select.js
│ │ │ └── jquery.quicksearch.js
│ │ ├── plupload
│ │ │ └── js
│ │ │ ├── jquery.plupload.queue
│ │ │ │ ├── css
│ │ │ │ │ └── plupload-gebo.css
│ │ │ │ ├── img
│ │ │ │ │ ├── backgrounds.gif
│ │ │ │ │ ├── delete.gif
│ │ │ │ │ ├── done.gif
│ │ │ │ │ └── error.gif
│ │ │ │ └── jquery.plupload.queue.full.js
│ │ │ └── plupload.full.js
│ │ ├── qtip2
│ │ │ ├── jquery.qtip.min.css
│ │ │ └── jquery.qtip.min.js
│ │ ├── select2
│ │ │ ├── select2.css
│ │ │ ├── select2.js
│ │ │ ├── select2.png
│ │ │ ├── select2-spinner.gif
│ │ │ └── select2x2.png
│ │ ├── slimScroll
│ │ │ └── jquery.slimscroll.js
│ │ ├── smoke
│ │ │ ├── smoke.js
│ │ │ └── themes
│ │ │ └── gebo.css
│ │ ├── stepy
│ │ │ ├── css
│ │ │ │ └── jquery.stepy.css
│ │ │ ├── img
│ │ │ │ └── nav_dot.gif
│ │ │ └── js
│ │ │ └── jquery.stepy.min.js
│ │ ├── sticky
│ │ │ ├── sticky.css
│ │ │ └── sticky.min.js
│ │ ├── tag_handler
│ │ │ ├── css
│ │ │ │ └── jquery.taghandler.css
│ │ │ ├── images
│ │ │ │ ├── loader.gif
│ │ │ │ ├── tag_remove.cur
│ │ │ │ └── tag_update.png
│ │ │ └── jquery.taghandler.min.js
│ │ ├── timepicker
│ │ │ ├── css
│ │ │ │ └── bootstrap-timepicker.css
│ │ │ └── js
│ │ │ └── bootstrap-timepicker.min.js
│ │ ├── tiny_mce
│ │ │ └── jquery.tinymce.js
│ │ ├── typeahead
│ │ │ └── typeahead.min.js
│ │ ├── UItoTop
│ │ │ └── jquery.ui.totop.min.js
│ │ ├── uniform
│ │ │ ├── Aristo
│ │ │ │ ├── images
│ │ │ │ │ └── sprite-aristo.png
│ │ │ │ └── uniform.aristo.css
│ │ │ └── jquery.uniform.min.js
│ │ ├── validation
│ │ │ ├── jquery.validate.js
│ │ │ └── jquery.validate.min.js
│ │ └── x-editable
│ │ ├── css
│ │ │ └── bootstrap-editable.css
│ │ ├── img
│ │ │ ├── clear.png
│ │ │ └── loading.gif
│ │ ├── inputs-ext
│ │ │ ├── address
│ │ │ │ ├── address.css
│ │ │ │ └── address.js
│ │ │ └── typeaheadjs
│ │ │ └── typeaheadjs.js
│ │ └── js
│ │ └── bootstrap-editable.min.js
│ ├── META-INF
│ │ ├── INDEX.LIST
│ │ ├── MANIFEST.MF
│ │ └── maven
│ │ └── org.jasig.cas
│ │ └── cas-server-webapp
│ │ ├── pom.properties
│ │ └── pom.xml
│ └── WEB-INF
│ ├── cas.properties
│ ├── cas-servlet.xml
│ ├── classes
│ │ ├── cas-theme-default.properties
│ │ ├── default_views.properties
│ │ ├── log4j.xml
│ │ ├── messages2.properties
│ │ ├── messages_ar.properties
│ │ ├── messages_ca.properties
│ │ ├── messages_cs.properties
│ │ ├── messages_de.properties
│ │ ├── messages_es.properties
│ │ ├── messages_fa.properties
│ │ ├── messages_fr.properties
│ │ ├── messages_hr.properties
│ │ ├── messages_it.properties
│ │ ├── messages_ja.properties
│ │ ├── messages_mk.properties
│ │ ├── messages_nl.properties
│ │ ├── messages_pl.properties
│ │ ├── messages.properties
│ │ ├── messages_pt_BR.properties
│ │ ├── messages_pt_PT.properties
│ │ ├── messages_ru.properties
│ │ ├── messages_sl.properties
│ │ ├── messages_sv.properties
│ │ ├── messages_tr.properties
│ │ ├── messages_ur.properties
│ │ ├── messages_zh_CN.properties
│ │ ├── messages_zh_TW.properties
│ │ ├── protocol_views.properties
│ │ └── saml_views.properties
│ ├── deployerConfigContext.xml
│ ├── lib
│ │ ├── activation-1.1.jar
│ │ ├── antlr-2.7.7.jar
│ │ ├── aopalliance-1.0.jar
│ │ ├── aspectjrt-1.7.2.jar
│ │ ├── aspectjweaver-1.7.2.jar
│ │ ├── cas-jdbc-1.0.0.jar
│ │ ├── cas-server-core-4.0.0.jar
│ │ ├── cas-server-support-generic-4.0.0.jar
│ │ ├── cas-server-support-jdbc-4.0.0.jar
│ │ ├── cas-server-webapp-support-4.0.0.jar
│ │ ├── commons-codec-1.7.jar
│ │ ├── commons-collections-3.2.1.jar
│ │ ├── commons-io-2.4.jar
│ │ ├── commons-jexl-1.1.jar
│ │ ├── commons-lang-2.5.jar
│ │ ├── dom4j-1.6.1.jar
│ │ ├── hibernate-commons-annotations-4.0.1.Final.jar
│ │ ├── hibernate-core-4.1.0.Final.jar
│ │ ├── hibernate-jpa-2.0-api-1.0.1.Final.jar
│ │ ├── hibernate-validator-4.2.0.Final.jar
│ │ ├── inspektr-audit-1.0.7.GA.jar
│ │ ├── inspektr-common-1.0.7.GA.jar
│ │ ├── inspektr-error-1.0.7.GA.jar
│ │ ├── inspektr-support-spring-1.0.7.GA.jar
│ │ ├── javassist-3.15.0-GA.jar
│ │ ├── jaxb-api-2.2.jar
│ │ ├── jaxb-impl-2.2.jar
│ │ ├── jboss-logging-3.1.0.CR2.jar
│ │ ├── jboss-transaction-api_1.1_spec-1.0.0.Final.jar
│ │ ├── jcl-over-slf4j-1.7.5.jar
│ │ ├── joda-time-2.2.jar
│ │ ├── jstl-1.1.2.jar
│ │ ├── jtds-1.3.1.jar
│ │ ├── log4j-1.2.17.jar
│ │ ├── mysql-connector-java-5.1.30.jar
│ │ ├── perf4j-0.9.16-log4jonly.jar
│ │ ├── person-directory-api-1.5.1.jar
│ │ ├── person-directory-impl-1.5.1.jar
│ │ ├── quartz-1.6.1.jar
│ │ ├── slf4j-api-1.7.5.jar
│ │ ├── slf4j-log4j12-1.7.5.jar
│ │ ├── spring-aop-3.2.6.RELEASE.jar
│ │ ├── spring-beans-3.2.6.RELEASE.jar
│ │ ├── spring-binding-2.3.2.RELEASE.jar
│ │ ├── spring-context-3.2.6.RELEASE.jar
│ │ ├── spring-context-support-3.2.6.RELEASE.jar
│ │ ├── spring-core-3.2.6.RELEASE.jar
│ │ ├── spring-expression-3.2.6.RELEASE.jar
│ │ ├── spring-jdbc-3.2.6.RELEASE.jar
│ │ ├── spring-js-2.3.2.RELEASE.jar
│ │ ├── spring-js-resources-2.3.2.RELEASE.jar
│ │ ├── spring-orm-3.2.6.RELEASE.jar
│ │ ├── spring-security-config-3.2.0.RELEASE.jar
│ │ ├── spring-security-core-3.2.0.RELEASE.jar
│ │ ├── spring-security-web-3.2.0.RELEASE.jar
│ │ ├── spring-tx-3.2.6.RELEASE.jar
│ │ ├── spring-web-3.2.6.RELEASE.jar
│ │ ├── spring-webflow-2.3.2.RELEASE.jar
│ │ ├── spring-webmvc-3.2.6.RELEASE.jar
│ │ ├── standard-1.1.2.jar
│ │ ├── stax-api-1.0-2.jar
│ │ └── validation-api-1.0.0.GA.jar
│ ├── login-webflow.xml
│ ├── logout-webflow.xml
│ ├── restlet-servlet.xml
│ ├── spring-configuration
│ │ ├── applicationContext.xml
│ │ ├── argumentExtractorsConfiguration.xml
│ │ ├── auditTrailContext.xml
│ │ ├── filters.xml
│ │ ├── log4jConfiguration.xml
│ │ ├── propertyFileConfigurer.xml
│ │ ├── README.txt
│ │ ├── securityContext.xml
│ │ ├── ticketExpirationPolicies.xml
│ │ ├── ticketGrantingTicketCookieGenerator.xml
│ │ ├── ticketRegistry.xml
│ │ ├── uniqueIdGenerators.xml
│ │ └── warnCookieGenerator.xml
│ ├── unused-spring-configuration
│ │ ├── clearpass-configuration.xml
│ │ ├── lppe-configuration.xml
│ │ └── mbeans.xml
│ ├── view
│ │ └── jsp
│ │ ├── authorizationFailure.jsp
│ │ ├── default
│ │ │ └── ui
│ │ │ ├── casAccountDisabledView.jsp
│ │ │ ├── casAccountLockedView.jsp
│ │ │ ├── casBadHoursView.jsp
│ │ │ ├── casBadWorkstationView.jsp
│ │ │ ├── casConfirmView.jsp
│ │ │ ├── casExpiredPassView.jsp
│ │ │ ├── casGenericSuccess.jsp
│ │ │ ├── casLoginMessageView.jsp
│ │ │ ├── casLoginStatic.html
│ │ │ ├── casLoginView_back.jsp
│ │ │ ├── casLoginView.jsp
│ │ │ ├── casLogoutView.jsp
│ │ │ ├── casMustChangePassView.jsp
│ │ │ ├── includes
│ │ │ │ ├── aa.js
│ │ │ │ ├── bottom.jsp
│ │ │ │ └── top.jsp
│ │ │ ├── serviceErrorSsoView.jsp
│ │ │ └── serviceErrorView.jsp
│ │ ├── errors.jsp
│ │ ├── monitoring
│ │ │ └── viewStatistics.jsp
│ │ └── protocol
│ │ ├── 2.0
│ │ │ ├── casProxyFailureView.jsp
│ │ │ ├── casProxySuccessView.jsp
│ │ │ ├── casServiceValidationFailure.jsp
│ │ │ └── casServiceValidationSuccess.jsp
│ │ ├── 3.0
│ │ │ ├── casServiceValidationFailure.jsp
│ │ │ └── casServiceValidationSuccess.jsp
│ │ ├── casPostResponseView.jsp
│ │ ├── clearPass
│ │ │ ├── clearPassFailure.jsp
│ │ │ └── clearPassSuccess.jsp
│ │ ├── oauth
│ │ │ └── confirm.jsp
│ │ └── openid
│ │ ├── casOpenIdAssociationFailureView.jsp
│ │ ├── casOpenIdAssociationSuccessView.jsp
│ │ ├── casOpenIdServiceFailureView.jsp
│ │ ├── casOpenIdServiceSuccessView.jsp
│ │ └── user.jsp
│ └── web.xml
├── doc
│ └── db_test.sql
├── README.md
├── spring-node-1
│ ├── pom.xml
│ ├── src
│ │ ├── main
│ │ │ ├── java
│ │ │ │ └── com
│ │ │ │ └── spring
│ │ │ │ └── mybatis
│ │ │ │ ├── controller
│ │ │ │ │ └── UserController.java
│ │ │ │ ├── dao
│ │ │ │ │ ├── PermissionMapper.java
│ │ │ │ │ ├── RoleMapper.java
│ │ │ │ │ ├── RolePermissionMapper.java
│ │ │ │ │ ├── UserMapper.java
│ │ │ │ │ └── UserRoleMapper.java
│ │ │ │ ├── model
│ │ │ │ │ ├── Permission.java
│ │ │ │ │ ├── Role.java
│ │ │ │ │ ├── RolePermission.java
│ │ │ │ │ ├── User.java
│ │ │ │ │ └── UserRole.java
│ │ │ │ ├── realm
│ │ │ │ │ └── UserRealm.java
│ │ │ │ └── service
│ │ │ │ ├── impl
│ │ │ │ │ ├── RoleServiceImpl.java
│ │ │ │ │ └── UserServiceImpl.java
│ │ │ │ ├── RoleService.java
│ │ │ │ └── UserService.java
│ │ │ ├── resources
│ │ │ │ ├── conf
│ │ │ │ │ ├── jdbc.properties
│ │ │ │ │ ├── log4j.properties
│ │ │ │ │ ├── shiro.properties
│ │ │ │ │ ├── spring-context.xml
│ │ │ │ │ ├── spring-mvc.xml
│ │ │ │ │ ├── spring-mybatis.xml
│ │ │ │ │ └── spring-shiro.xml
│ │ │ │ ├── mapper
│ │ │ │ │ ├── PermissionMapper.xml
│ │ │ │ │ ├── RoleMapper.xml
│ │ │ │ │ ├── RolePermissionMapper.xml
│ │ │ │ │ ├── UserMapper.xml
│ │ │ │ │ └── UserRoleMapper.xml
│ │ │ │ └── mybatis
│ │ │ │ └── generateUser.xml
│ │ │ └── webapp
│ │ │ ├── common
│ │ │ │ └── lib.jsp
│ │ │ ├── index.jsp
│ │ │ ├── jsp
│ │ │ │ ├── demo.jsp
│ │ │ │ └── user.jsp
│ │ │ └── WEB-INF
│ │ │ ├── logs
│ │ │ │ └── error.log
│ │ │ └── web.xml
│ │ └── test
│ │ └── java
│ └── target
│ ├── apache-tomcat-maven-plugin
│ ├── classes
│ │ ├── com
│ │ │ └── spring
│ │ │ └── mybatis
│ │ │ ├── controller
│ │ │ │ └── UserController.class
│ │ │ ├── dao
│ │ │ │ ├── PermissionMapper.class
│ │ │ │ ├── RoleMapper.class
│ │ │ │ ├── RolePermissionMapper.class
│ │ │ │ ├── UserMapper.class
│ │ │ │ └── UserRoleMapper.class
│ │ │ ├── model
│ │ │ │ ├── Permission.class
│ │ │ │ ├── Role.class
│ │ │ │ ├── RolePermission.class
│ │ │ │ ├── User.class
│ │ │ │ └── UserRole.class
│ │ │ ├── realm
│ │ │ │ └── UserRealm.class
│ │ │ └── service
│ │ │ ├── impl
│ │ │ │ ├── RoleServiceImpl.class
│ │ │ │ └── UserServiceImpl.class
│ │ │ ├── RoleService.class
│ │ │ └── UserService.class
│ │ ├── conf
│ │ │ ├── jdbc.properties
│ │ │ ├── log4j.properties
│ │ │ ├── shiro.properties
│ │ │ ├── spring-context.xml
│ │ │ ├── spring-mvc.xml
│ │ │ ├── spring-mybatis.xml
│ │ │ └── spring-shiro.xml
│ │ ├── mapper
│ │ │ ├── PermissionMapper.xml
│ │ │ ├── RoleMapper.xml
│ │ │ ├── RolePermissionMapper.xml
│ │ │ ├── UserMapper.xml
│ │ │ └── UserRoleMapper.xml
│ │ └── mybatis
│ │ └── generateUser.xml
│ ├── generated-sources
│ │ └── annotations
│ ├── m2e-jee
│ │ └── web-resources
│ │ └── META-INF
│ │ ├── MANIFEST.MF
│ │ └── maven
│ │ └── com.distinct
│ │ └── spring-node-1
│ │ ├── pom.properties
│ │ └── pom.xml
│ ├── maven-status
│ │ └── maven-compiler-plugin
│ │ └── compile
│ │ └── default-compile
│ │ ├── createdFiles.lst
│ │ └── inputFiles.lst
│ ├── test-classes
│ └── tomcat
│ ├── conf
│ │ ├── logging.properties
│ │ ├── tomcat-users.xml
│ │ └── web.xml
│ ├── logs
│ │ └── access_log.2016-10-18
│ ├── webapps
│ └── work
│ └── Tomcat
│ └── localhost
│ └── node1
│ └── org
│ └── apache
│ └── jsp
│ ├── index_jsp.class
│ └── index_jsp.java
└── spring-node-2
├── pom.xml
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── spring
│ │ │ └── mybatis
│ │ │ ├── controller
│ │ │ │ └── UserController.java
│ │ │ ├── dao
│ │ │ │ ├── PermissionMapper.java
│ │ │ │ ├── RoleMapper.java
│ │ │ │ ├── RolePermissionMapper.java
│ │ │ │ ├── UserMapper.java
│ │ │ │ └── UserRoleMapper.java
│ │ │ ├── model
│ │ │ │ ├── Permission.java
│ │ │ │ ├── Role.java
│ │ │ │ ├── RolePermission.java
│ │ │ │ ├── User.java
│ │ │ │ └── UserRole.java
│ │ │ ├── realm
│ │ │ │ └── UserRealm.java
│ │ │ └── service
│ │ │ ├── impl
│ │ │ │ ├── RoleServiceImpl.java
│ │ │ │ └── UserServiceImpl.java
│ │ │ ├── RoleService.java
│ │ │ └── UserService.java
│ │ ├── resources
│ │ │ ├── conf
│ │ │ │ ├── jdbc.properties
│ │ │ │ ├── log4j.properties
│ │ │ │ ├── shiro.properties
│ │ │ │ ├── spring-context.xml
│ │ │ │ ├── spring-mvc.xml
│ │ │ │ ├── spring-mybatis.xml
│ │ │ │ └── spring-shiro.xml
│ │ │ ├── mapper
│ │ │ │ ├── PermissionMapper.xml
│ │ │ │ ├── RoleMapper.xml
│ │ │ │ ├── RolePermissionMapper.xml
│ │ │ │ ├── UserMapper.xml
│ │ │ │ └── UserRoleMapper.xml
│ │ │ └── mybatis
│ │ │ └── generateUser.xml
│ │ └── webapp
│ │ ├── common
│ │ │ └── lib.jsp
│ │ ├── index.jsp
│ │ ├── jsp
│ │ │ ├── demo.jsp
│ │ │ └── user.jsp
│ │ └── WEB-INF
│ │ └── web.xml
│ └── test
│ └── java
└── target
├── apache-tomcat-maven-plugin
├── classes
│ ├── com
│ │ └── spring
│ │ └── mybatis
│ │ ├── controller
│ │ │ └── UserController.class
│ │ ├── dao
│ │ │ ├── PermissionMapper.class
│ │ │ ├── RoleMapper.class
│ │ │ ├── RolePermissionMapper.class
│ │ │ ├── UserMapper.class
│ │ │ └── UserRoleMapper.class
│ │ ├── model
│ │ │ ├── Permission.class
│ │ │ ├── Role.class
│ │ │ ├── RolePermission.class
│ │ │ ├── User.class
│ │ │ └── UserRole.class
│ │ ├── realm
│ │ │ └── UserRealm.class
│ │ └── service
│ │ ├── impl
│ │ │ ├── RoleServiceImpl.class
│ │ │ └── UserServiceImpl.class
│ │ ├── RoleService.class
│ │ └── UserService.class
│ ├── conf
│ │ ├── jdbc.properties
│ │ ├── log4j.properties
│ │ ├── shiro.properties
│ │ ├── spring-context.xml
│ │ ├── spring-mvc.xml
│ │ ├── spring-mybatis.xml
│ │ └── spring-shiro.xml
│ ├── mapper
│ │ ├── PermissionMapper.xml
│ │ ├── RoleMapper.xml
│ │ ├── RolePermissionMapper.xml
│ │ ├── UserMapper.xml
│ │ └── UserRoleMapper.xml
│ └── mybatis
│ └── generateUser.xml
├── generated-sources
│ └── annotations
├── m2e-jee
│ └── web-resources
│ └── META-INF
│ ├── MANIFEST.MF
│ └── maven
│ └── com.distinct
│ └── spring-node-2
│ ├── pom.properties
│ └── pom.xml
├── maven-status
│ └── maven-compiler-plugin
│ └── compile
│ └── default-compile
│ ├── createdFiles.lst
│ └── inputFiles.lst
├── test-classes
└── tomcat
├── conf
│ ├── logging.properties
│ ├── tomcat-users.xml
│ └── web.xml
├── logs
│ └── access_log.2016-10-18
├── webapps
└── work
└── Tomcat
└── localhost
└── node2
└── org
└── apache
└── jsp
├── index_jsp.class
└── index_jsp.java
253 directories, 664 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论