├── .gitignore ├── README.md ├── pom.xml ├── shiro-example-chapter10 ├── pom.xml └── src │ ├── main │ ├── java │ │ ├── com │ │ │ └── github │ │ │ │ └── zhangkaitao │ │ │ │ └── shiro │ │ │ │ └── chapter10 │ │ │ │ ├── JdbcTemplateUtils.java │ │ │ │ ├── SerializableUtils.java │ │ │ │ ├── session │ │ │ │ ├── dao │ │ │ │ │ └── MySessionDao.java │ │ │ │ └── scheduler │ │ │ │ │ └── MySessionValidationScheduler.java │ │ │ │ └── web │ │ │ │ └── listener │ │ │ │ ├── MySessionListener1.java │ │ │ │ └── MySessionListener2.java │ │ └── org │ │ │ └── apache │ │ │ └── shiro │ │ │ ├── ShiroConstants.java │ │ │ └── session │ │ │ ├── filter │ │ │ └── OnlineSessionFilter.java │ │ │ └── mgt │ │ │ ├── IpUtils.java │ │ │ ├── OnlineSession.java │ │ │ └── OnlineSessionFactory.java │ ├── resources │ │ ├── ehcache.xml │ │ └── shiro-web.ini │ └── webapp │ │ ├── WEB-INF │ │ └── web.xml │ │ ├── index.jsp │ │ ├── invalidSession.jsp │ │ └── login.jsp │ ├── sql │ └── shiro.sql │ └── test │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter10 │ │ ├── BaseTest.java │ │ └── SessionTest.java │ └── resources │ └── shiro.ini ├── shiro-example-chapter11 ├── pom.xml └── src │ ├── main │ ├── java │ │ ├── com │ │ │ └── github │ │ │ │ └── zhangkaitao │ │ │ │ └── shiro │ │ │ │ └── chapter11 │ │ │ │ ├── JdbcTemplateUtils.java │ │ │ │ ├── SerializableUtils.java │ │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ │ ├── dao │ │ │ │ ├── PermissionDao.java │ │ │ │ ├── PermissionDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ │ ├── entity │ │ │ │ ├── Permission.java │ │ │ │ ├── Role.java │ │ │ │ ├── RolePermssion.java │ │ │ │ ├── User.java │ │ │ │ └── UserRole.java │ │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ │ ├── service │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── PermissionService.java │ │ │ │ ├── PermissionServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ │ └── session │ │ │ │ └── dao │ │ │ │ └── MySessionDAO.java │ │ └── org │ │ │ └── apache │ │ │ └── shiro │ │ │ └── cache │ │ │ └── ehcache │ │ │ └── EhCacheManager.java │ └── resources │ │ ├── password-ehcache.xml │ │ ├── shiro-ehcache.xml │ │ └── shiro.ini │ ├── sql │ └── shiro.sql │ └── test │ └── java │ └── com │ └── github │ └── zhangkaitao │ └── shiro │ └── chapter11 │ ├── BaseTest.java │ └── realm │ └── UserRealmTest.java ├── shiro-example-chapter12 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ └── chapter12 │ │ │ ├── credentials │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ ├── PermissionDao.java │ │ │ ├── PermissionDaoImpl.java │ │ │ ├── RoleDao.java │ │ │ ├── RoleDaoImpl.java │ │ │ ├── UserDao.java │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ ├── Permission.java │ │ │ ├── Role.java │ │ │ ├── RolePermssion.java │ │ │ ├── User.java │ │ │ └── UserRole.java │ │ │ ├── realm │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ ├── PasswordHelper.java │ │ │ ├── PermissionService.java │ │ │ ├── PermissionServiceImpl.java │ │ │ ├── RoleService.java │ │ │ ├── RoleServiceImpl.java │ │ │ ├── UserService.java │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ ├── exception │ │ │ └── DefaultExceptionHandler.java │ │ │ └── mvc │ │ │ └── AnnotationController.java │ ├── resources │ │ ├── ehcache.xml │ │ ├── spring-beans.xml │ │ ├── spring-mvc.xml │ │ ├── spring-shiro-web.xml │ │ └── spring-shiro.xml │ └── webapp │ │ ├── WEB-INF │ │ └── web.xml │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── success.jsp │ │ └── unauthorized.jsp │ ├── sql │ └── shiro.sql │ └── test │ └── java │ └── com │ └── github │ └── zhangkaitao │ └── shiro │ └── chapter12 │ └── ShiroTest.java ├── shiro-example-chapter13 ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter13 │ │ ├── credentials │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ ├── dao │ │ ├── PermissionDao.java │ │ ├── PermissionDaoImpl.java │ │ ├── RoleDao.java │ │ ├── RoleDaoImpl.java │ │ ├── UserDao.java │ │ └── UserDaoImpl.java │ │ ├── entity │ │ ├── Permission.java │ │ ├── Role.java │ │ ├── RolePermssion.java │ │ ├── User.java │ │ └── UserRole.java │ │ ├── realm │ │ └── UserRealm.java │ │ └── service │ │ ├── PasswordHelper.java │ │ ├── PermissionService.java │ │ ├── PermissionServiceImpl.java │ │ ├── RoleService.java │ │ ├── RoleServiceImpl.java │ │ ├── UserService.java │ │ └── UserServiceImpl.java │ ├── resources │ ├── ehcache.xml │ ├── spring-beans.xml │ └── spring-shiro-web.xml │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── authenticated.jsp │ ├── index.jsp │ ├── login.jsp │ ├── success.jsp │ └── unauthorized.jsp ├── shiro-example-chapter14 ├── localhost.keystore ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter14 │ │ ├── credentials │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ ├── dao │ │ ├── PermissionDao.java │ │ ├── PermissionDaoImpl.java │ │ ├── RoleDao.java │ │ ├── RoleDaoImpl.java │ │ ├── UserDao.java │ │ └── UserDaoImpl.java │ │ ├── entity │ │ ├── Permission.java │ │ ├── Role.java │ │ ├── RolePermssion.java │ │ ├── User.java │ │ └── UserRole.java │ │ ├── realm │ │ └── UserRealm.java │ │ └── service │ │ ├── PasswordHelper.java │ │ ├── PermissionService.java │ │ ├── PermissionServiceImpl.java │ │ ├── RoleService.java │ │ ├── RoleServiceImpl.java │ │ ├── UserService.java │ │ └── UserServiceImpl.java │ ├── resources │ ├── ehcache.xml │ ├── spring-beans.xml │ └── spring-shiro-web.xml │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── authenticated.jsp │ ├── index.jsp │ ├── login.jsp │ ├── success.jsp │ └── unauthorized.jsp ├── shiro-example-chapter15-client ├── localhost.keystore ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter15 │ │ ├── credentials │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ ├── dao │ │ ├── PermissionDao.java │ │ ├── PermissionDaoImpl.java │ │ ├── RoleDao.java │ │ ├── RoleDaoImpl.java │ │ ├── UserDao.java │ │ └── UserDaoImpl.java │ │ ├── entity │ │ ├── Permission.java │ │ ├── Role.java │ │ ├── RolePermssion.java │ │ ├── User.java │ │ └── UserRole.java │ │ ├── realm │ │ ├── MyCasRealm.java │ │ └── UserRealm.java │ │ └── service │ │ ├── PasswordHelper.java │ │ ├── PermissionService.java │ │ ├── PermissionServiceImpl.java │ │ ├── RoleService.java │ │ ├── RoleServiceImpl.java │ │ ├── UserService.java │ │ └── UserServiceImpl.java │ ├── resources │ ├── ehcache.xml │ ├── spring-beans.xml │ └── spring-shiro-web.xml │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── casFailure.jsp │ └── index.jsp ├── shiro-example-chapter15-server ├── assembly.xml ├── cas.log ├── checkstyle-rules.xml ├── checkstyle-suppressions.xml ├── localhost.keystore ├── perfStats.log ├── pom.xml └── src │ ├── licensing │ ├── header-definitions.xml │ └── header.txt │ ├── main │ ├── resources │ │ ├── cas-theme-default.properties │ │ ├── default_views.properties │ │ ├── log4j.xml │ │ ├── messages.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_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 │ └── webapp │ │ ├── WEB-INF │ │ ├── cas-servlet.xml │ │ ├── cas.properties │ │ ├── deployerConfigContext.xml │ │ ├── login-webflow.xml │ │ ├── logout-webflow.xml │ │ ├── restlet-servlet.xml │ │ ├── spring-configuration │ │ │ ├── README.txt │ │ │ ├── applicationContext.xml │ │ │ ├── argumentExtractorsConfiguration.xml │ │ │ ├── auditTrailContext.xml │ │ │ ├── filters.xml │ │ │ ├── log4jConfiguration.xml │ │ │ ├── propertyFileConfigurer.xml │ │ │ ├── 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 │ │ │ │ │ ├── casLoginView.jsp │ │ │ │ │ ├── casLogoutView.jsp │ │ │ │ │ ├── casMustChangePassView.jsp │ │ │ │ │ ├── casWarnPassView.jsp │ │ │ │ │ ├── includes │ │ │ │ │ ├── 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 │ │ ├── css │ │ └── cas.css │ │ ├── favicon.ico │ │ ├── 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 │ │ ├── index.jsp │ │ └── js │ │ └── cas.js │ ├── site │ └── site.xml │ └── test │ ├── clover │ └── clover.license │ ├── java │ └── org │ │ └── jasig │ │ └── cas │ │ └── WiringTests.java │ ├── resources │ └── log4j.xml │ └── webtest │ ├── README.txt │ ├── build.xml │ ├── includes │ ├── config.xml │ └── definition.xml │ ├── logintests.xml │ ├── modules │ ├── checkBadCredentials.xml │ ├── checkLoginSuccess.xml │ ├── checkWarnPage.xml │ ├── extractServiceTicket.xml │ ├── getLoginFormWithService.xml │ ├── getLoginFormWithoutService.xml │ ├── getLogout.xml │ ├── processLogin.xml │ ├── verifyCookie.xml │ ├── verifyLoginForm.xml │ └── verifyRedirect.xml │ ├── properties │ ├── canoo.properties │ └── local.properties │ ├── proxyCallBackTest │ ├── WEB-INF │ │ └── web.xml │ └── index.jsp │ └── validationtests.xml ├── shiro-example-chapter16 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter16 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── organization │ │ │ ├── appendChild.jsp │ │ │ ├── index.jsp │ │ │ ├── maintain.jsp │ │ │ ├── move.jsp │ │ │ ├── success.jsp │ │ │ └── tree.jsp │ │ ├── resource │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── role │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── unauthorized.jsp │ │ ├── user │ │ │ ├── changePassword.jsp │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ └── welcome.jsp │ │ ├── static │ │ ├── JQuery zTree v3.5.15 │ │ │ ├── api │ │ │ │ ├── API_cn.html │ │ │ │ ├── API_en.html │ │ │ │ ├── apiCss │ │ │ │ │ ├── api.js │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ ├── img │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ ├── cn │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ └── en │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── zTreeStyle │ │ │ │ │ ├── img │ │ │ │ │ ├── diy │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ └── 9.png │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ ├── loading.gif │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ └── zTreeStyle.css │ │ │ ├── demo │ │ │ │ ├── cn │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ └── en │ │ │ │ │ ├── asyncData │ │ │ │ │ ├── getNodes.php │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ ├── common.html │ │ │ │ │ ├── diy_async.html │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ ├── async.html │ │ │ │ │ ├── async_fun.html │ │ │ │ │ ├── click.html │ │ │ │ │ ├── custom_font.html │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ ├── expand.html │ │ │ │ │ ├── noicon.html │ │ │ │ │ ├── noline.html │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ ├── simpleData.html │ │ │ │ │ ├── standardData.html │ │ │ │ │ ├── update_fun.html │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ ├── radio.html │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ ├── async_edit.html │ │ │ │ │ ├── drag.html │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ ├── drag_super.html │ │ │ │ │ ├── edit.html │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ ├── edit_super.html │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── common.html │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ ├── diydom.html │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ ├── left_menu.html │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ ├── oneclick.html │ │ │ │ │ ├── oneroot.html │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ ├── select_menu.html │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ └── singlepath.html │ │ │ ├── js │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ └── log v3.x.txt │ │ ├── css │ │ │ ├── css.css │ │ │ └── layout-default-latest.css │ │ ├── jquery-treetable │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.txt │ │ │ ├── GPL-LICENSE.txt │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ │ ├── src │ │ │ │ │ └── jquery.treetable.js │ │ │ │ └── test │ │ │ │ │ └── jquery.treetable.test.js │ │ │ ├── stylesheets │ │ │ │ ├── jquery.treetable.css │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ └── screen.css │ │ │ ├── test.html │ │ │ └── treetable.jquery.json │ │ └── js │ │ │ ├── jquery-1.11.0.min.js │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ └── zhang-functions.tld │ │ └── web.xml │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter17-client ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter18 │ │ └── oauth2 │ │ ├── OAuth2AuthenticationException.java │ │ ├── OAuth2AuthenticationFilter.java │ │ ├── OAuth2Realm.java │ │ └── OAuth2Token.java │ ├── resources │ ├── ehcache │ │ └── ehcache.xml │ └── spring-config-shiro.xml │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── index.jsp │ └── oauth2Failure.jsp ├── shiro-example-chapter17-server ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter17 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── ClientDao.java │ │ │ │ ├── ClientDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Client.java │ │ │ │ └── User.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── ClientService.java │ │ │ │ ├── ClientServiceImpl.java │ │ │ │ ├── OAuthService.java │ │ │ │ ├── OAuthServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── controller │ │ │ │ ├── AccessTokenController.java │ │ │ │ ├── AuthorizeController.java │ │ │ │ ├── ClientController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── UserController.java │ │ │ │ └── UserInfoController.java │ │ │ │ └── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ └── spring │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ ├── WEB-INF │ │ ├── jsp │ │ │ ├── client │ │ │ │ ├── edit.jsp │ │ │ │ └── list.jsp │ │ │ ├── index.jsp │ │ │ ├── login.jsp │ │ │ ├── oauth2login.jsp │ │ │ └── user │ │ │ │ ├── changePassword.jsp │ │ │ │ ├── edit.jsp │ │ │ │ └── list.jsp │ │ ├── static │ │ │ ├── css │ │ │ │ └── css.css │ │ │ └── js │ │ │ │ └── jquery-1.11.0.min.js │ │ └── web.xml │ │ └── index.jsp │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter18 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter18 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ ├── KickoutSessionControlFilter.java │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── organization │ │ │ ├── appendChild.jsp │ │ │ ├── index.jsp │ │ │ ├── maintain.jsp │ │ │ ├── move.jsp │ │ │ ├── success.jsp │ │ │ └── tree.jsp │ │ ├── resource │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── role │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── unauthorized.jsp │ │ ├── user │ │ │ ├── changePassword.jsp │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ └── welcome.jsp │ │ ├── static │ │ ├── JQuery zTree v3.5.15 │ │ │ ├── api │ │ │ │ ├── API_cn.html │ │ │ │ ├── API_en.html │ │ │ │ ├── apiCss │ │ │ │ │ ├── api.js │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ ├── img │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ ├── cn │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ └── en │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── zTreeStyle │ │ │ │ │ ├── img │ │ │ │ │ ├── diy │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ └── 9.png │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ ├── loading.gif │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ └── zTreeStyle.css │ │ │ ├── demo │ │ │ │ ├── cn │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ └── en │ │ │ │ │ ├── asyncData │ │ │ │ │ ├── getNodes.php │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ ├── common.html │ │ │ │ │ ├── diy_async.html │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ ├── async.html │ │ │ │ │ ├── async_fun.html │ │ │ │ │ ├── click.html │ │ │ │ │ ├── custom_font.html │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ ├── expand.html │ │ │ │ │ ├── noicon.html │ │ │ │ │ ├── noline.html │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ ├── simpleData.html │ │ │ │ │ ├── standardData.html │ │ │ │ │ ├── update_fun.html │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ ├── radio.html │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ ├── async_edit.html │ │ │ │ │ ├── drag.html │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ ├── drag_super.html │ │ │ │ │ ├── edit.html │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ ├── edit_super.html │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── common.html │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ ├── diydom.html │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ ├── left_menu.html │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ ├── oneclick.html │ │ │ │ │ ├── oneroot.html │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ ├── select_menu.html │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ └── singlepath.html │ │ │ ├── js │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ └── log v3.x.txt │ │ ├── css │ │ │ ├── css.css │ │ │ └── layout-default-latest.css │ │ ├── jquery-treetable │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.txt │ │ │ ├── GPL-LICENSE.txt │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ │ ├── src │ │ │ │ │ └── jquery.treetable.js │ │ │ │ └── test │ │ │ │ │ └── jquery.treetable.test.js │ │ │ ├── stylesheets │ │ │ │ ├── jquery.treetable.css │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ └── screen.css │ │ │ ├── test.html │ │ │ └── treetable.jquery.json │ │ └── js │ │ │ ├── jquery-1.11.0.min.js │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ └── zhang-functions.tld │ │ └── web.xml │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter19 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter19 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UrlFilterDao.java │ │ │ │ ├── UrlFilterDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ ├── UrlFilter.java │ │ │ │ └── User.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── ShiroFilerChainManager.java │ │ │ │ ├── UrlFilterService.java │ │ │ │ ├── UrlFilterServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ ├── UrlFilterController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ ├── CustomDefaultFilterChainManager.java │ │ │ ├── CustomPathMatchingFilterChainResolver.java │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ ├── WEB-INF │ │ ├── jsp │ │ │ ├── index.jsp │ │ │ ├── login.jsp │ │ │ ├── organization │ │ │ │ ├── appendChild.jsp │ │ │ │ ├── index.jsp │ │ │ │ ├── maintain.jsp │ │ │ │ ├── move.jsp │ │ │ │ ├── success.jsp │ │ │ │ └── tree.jsp │ │ │ ├── resource │ │ │ │ ├── edit.jsp │ │ │ │ └── list.jsp │ │ │ ├── role │ │ │ │ ├── edit.jsp │ │ │ │ └── list.jsp │ │ │ ├── unauthorized.jsp │ │ │ ├── urlFilter │ │ │ │ ├── edit.jsp │ │ │ │ └── list.jsp │ │ │ ├── user │ │ │ │ ├── changePassword.jsp │ │ │ │ ├── edit.jsp │ │ │ │ └── list.jsp │ │ │ └── welcome.jsp │ │ ├── static │ │ │ ├── JQuery zTree v3.5.15 │ │ │ │ ├── api │ │ │ │ │ ├── API_cn.html │ │ │ │ │ ├── API_en.html │ │ │ │ │ ├── apiCss │ │ │ │ │ │ ├── api.js │ │ │ │ │ │ ├── common.css │ │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ │ ├── img │ │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ │ ├── cn │ │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ │ └── en │ │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ ├── css │ │ │ │ │ ├── demo.css │ │ │ │ │ └── zTreeStyle │ │ │ │ │ │ ├── img │ │ │ │ │ │ ├── diy │ │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ │ └── 9.png │ │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ │ ├── loading.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ │ └── zTreeStyle.css │ │ │ │ ├── demo │ │ │ │ │ ├── cn │ │ │ │ │ │ ├── asyncData │ │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ │ ├── bigdata │ │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ │ └── page.html │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ │ └── url.html │ │ │ │ │ │ ├── excheck │ │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ │ ├── exedit │ │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ │ ├── exhide │ │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ │ └── radio.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── super │ │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ │ └── singlepath.html │ │ │ │ │ └── en │ │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ │ ├── index.html │ │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ ├── js │ │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ │ └── log v3.x.txt │ │ │ ├── css │ │ │ │ ├── css.css │ │ │ │ └── layout-default-latest.css │ │ │ ├── jquery-treetable │ │ │ │ ├── .gitignore │ │ │ │ ├── CHANGELOG.txt │ │ │ │ ├── GPL-LICENSE.txt │ │ │ │ ├── MIT-LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── index.html │ │ │ │ ├── javascripts │ │ │ │ │ ├── src │ │ │ │ │ │ └── jquery.treetable.js │ │ │ │ │ └── test │ │ │ │ │ │ └── jquery.treetable.test.js │ │ │ │ ├── stylesheets │ │ │ │ │ ├── jquery.treetable.css │ │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ │ └── screen.css │ │ │ │ ├── test.html │ │ │ │ └── treetable.jquery.json │ │ │ └── js │ │ │ │ ├── jquery-1.11.0.min.js │ │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ │ └── zhang-functions.tld │ │ └── web.xml │ │ └── unauthorized.jsp │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter2 ├── pom.xml └── src │ ├── sql │ └── shiro.sql │ └── test │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter2 │ │ ├── AuthenticatorTest.java │ │ ├── LoginLogoutTest.java │ │ ├── authenticator │ │ └── strategy │ │ │ ├── AtLeastTwoAuthenticatorStrategy.java │ │ │ └── OnlyOneAuthenticatorStrategy.java │ │ └── realm │ │ ├── MyRealm1.java │ │ ├── MyRealm2.java │ │ ├── MyRealm3.java │ │ └── MyRealm4.java │ └── resources │ ├── shiro-authenticator-all-fail.ini │ ├── shiro-authenticator-all-success.ini │ ├── shiro-authenticator-atLeastOne-success.ini │ ├── shiro-authenticator-atLeastTwo-success.ini │ ├── shiro-authenticator-first-success.ini │ ├── shiro-authenticator-onlyone-success.ini │ ├── shiro-jdbc-realm.ini │ ├── shiro-multi-realm.ini │ ├── shiro-realm.ini │ └── shiro.ini ├── shiro-example-chapter20 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ └── chapter20 │ │ │ ├── Constants.java │ │ │ ├── codec │ │ │ └── HmacSHA256Utils.java │ │ │ ├── filter │ │ │ └── StatelessAuthcFilter.java │ │ │ ├── mgt │ │ │ └── StatelessDefaultSubjectFactory.java │ │ │ ├── realm │ │ │ ├── StatelessRealm.java │ │ │ └── StatelessToken.java │ │ │ └── web │ │ │ └── controller │ │ │ └── ServiceController.java │ ├── resources │ │ ├── spring-config-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ └── web.xml │ └── test │ └── java │ └── com │ └── github │ └── zhangkaitao │ └── shiro │ └── chapter20 │ └── ClientTest.java ├── shiro-example-chapter21 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter21 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ ├── UserDaoImpl.java │ │ │ │ ├── UserRunAsDao.java │ │ │ │ └── UserRunAsDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ ├── User.java │ │ │ │ └── UserRunAs.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserRunAsService.java │ │ │ │ ├── UserRunAsServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ ├── RunAsController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── organization │ │ │ ├── appendChild.jsp │ │ │ ├── index.jsp │ │ │ ├── maintain.jsp │ │ │ ├── move.jsp │ │ │ ├── success.jsp │ │ │ └── tree.jsp │ │ ├── resource │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── role │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── runas.jsp │ │ ├── unauthorized.jsp │ │ ├── user │ │ │ ├── changePassword.jsp │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ └── welcome.jsp │ │ ├── static │ │ ├── JQuery zTree v3.5.15 │ │ │ ├── api │ │ │ │ ├── API_cn.html │ │ │ │ ├── API_en.html │ │ │ │ ├── apiCss │ │ │ │ │ ├── api.js │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ ├── img │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ ├── cn │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ └── en │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── zTreeStyle │ │ │ │ │ ├── img │ │ │ │ │ ├── diy │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ └── 9.png │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ ├── loading.gif │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ └── zTreeStyle.css │ │ │ ├── demo │ │ │ │ ├── cn │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ └── en │ │ │ │ │ ├── asyncData │ │ │ │ │ ├── getNodes.php │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ ├── common.html │ │ │ │ │ ├── diy_async.html │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ ├── async.html │ │ │ │ │ ├── async_fun.html │ │ │ │ │ ├── click.html │ │ │ │ │ ├── custom_font.html │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ ├── expand.html │ │ │ │ │ ├── noicon.html │ │ │ │ │ ├── noline.html │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ ├── simpleData.html │ │ │ │ │ ├── standardData.html │ │ │ │ │ ├── update_fun.html │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ ├── radio.html │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ ├── async_edit.html │ │ │ │ │ ├── drag.html │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ ├── drag_super.html │ │ │ │ │ ├── edit.html │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ ├── edit_super.html │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── common.html │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ ├── diydom.html │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ ├── left_menu.html │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ ├── oneclick.html │ │ │ │ │ ├── oneroot.html │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ ├── select_menu.html │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ └── singlepath.html │ │ │ ├── js │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ └── log v3.x.txt │ │ ├── css │ │ │ ├── css.css │ │ │ └── layout-default-latest.css │ │ ├── jquery-treetable │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.txt │ │ │ ├── GPL-LICENSE.txt │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ │ ├── src │ │ │ │ │ └── jquery.treetable.js │ │ │ │ └── test │ │ │ │ │ └── jquery.treetable.test.js │ │ │ ├── stylesheets │ │ │ │ ├── jquery.treetable.css │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ └── screen.css │ │ │ ├── test.html │ │ │ └── treetable.jquery.json │ │ └── js │ │ │ ├── jquery-1.11.0.min.js │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ └── zhang-functions.tld │ │ └── web.xml │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter22 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter22 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ ├── jcaptcha │ │ │ │ ├── GMailEngine.java │ │ │ │ ├── JCaptcha.java │ │ │ │ ├── JCaptchaFilter.java │ │ │ │ ├── JCaptchaValidateFilter.java │ │ │ │ ├── MyFormAuthenticationFilter.java │ │ │ │ └── MyManageableImageCaptchaService.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── organization │ │ │ ├── appendChild.jsp │ │ │ ├── index.jsp │ │ │ ├── maintain.jsp │ │ │ ├── move.jsp │ │ │ ├── success.jsp │ │ │ └── tree.jsp │ │ ├── resource │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── role │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── unauthorized.jsp │ │ ├── user │ │ │ ├── changePassword.jsp │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ └── welcome.jsp │ │ ├── static │ │ ├── JQuery zTree v3.5.15 │ │ │ ├── api │ │ │ │ ├── API_cn.html │ │ │ │ ├── API_en.html │ │ │ │ ├── apiCss │ │ │ │ │ ├── api.js │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ ├── img │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ ├── cn │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ └── en │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── zTreeStyle │ │ │ │ │ ├── img │ │ │ │ │ ├── diy │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ └── 9.png │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ ├── loading.gif │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ └── zTreeStyle.css │ │ │ ├── demo │ │ │ │ ├── cn │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ └── en │ │ │ │ │ ├── asyncData │ │ │ │ │ ├── getNodes.php │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ ├── common.html │ │ │ │ │ ├── diy_async.html │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ ├── async.html │ │ │ │ │ ├── async_fun.html │ │ │ │ │ ├── click.html │ │ │ │ │ ├── custom_font.html │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ ├── expand.html │ │ │ │ │ ├── noicon.html │ │ │ │ │ ├── noline.html │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ ├── simpleData.html │ │ │ │ │ ├── standardData.html │ │ │ │ │ ├── update_fun.html │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ ├── radio.html │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ ├── async_edit.html │ │ │ │ │ ├── drag.html │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ ├── drag_super.html │ │ │ │ │ ├── edit.html │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ ├── edit_super.html │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── common.html │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ ├── diydom.html │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ ├── left_menu.html │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ ├── oneclick.html │ │ │ │ │ ├── oneroot.html │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ ├── select_menu.html │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ └── singlepath.html │ │ │ ├── js │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ └── log v3.x.txt │ │ ├── css │ │ │ ├── css.css │ │ │ └── layout-default-latest.css │ │ ├── jquery-treetable │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.txt │ │ │ ├── GPL-LICENSE.txt │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ │ ├── src │ │ │ │ │ └── jquery.treetable.js │ │ │ │ └── test │ │ │ │ │ └── jquery.treetable.test.js │ │ │ ├── stylesheets │ │ │ │ ├── jquery.treetable.css │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ └── screen.css │ │ │ ├── test.html │ │ │ └── treetable.jquery.json │ │ └── js │ │ │ ├── jquery-1.11.0.min.js │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ └── zhang-functions.tld │ │ └── web.xml │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter23-app1 ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter23 │ │ └── app1 │ │ └── web │ │ ├── controller │ │ └── HelloController.java │ │ └── exception │ │ └── DefaultExceptionHandler.java │ ├── resources │ ├── client │ │ └── shiro-client.properties │ └── spring-mvc.xml │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── success.jsp │ └── unauthorized.jsp ├── shiro-example-chapter23-app2 ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter23 │ │ └── app2 │ │ └── web │ │ ├── controller │ │ └── HelloController.java │ │ └── exception │ │ └── DefaultExceptionHandler.java │ ├── resources │ ├── client │ │ └── shiro-client.properties │ └── spring-mvc.xml │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── success.jsp │ └── unauthorized.jsp ├── shiro-example-chapter23-client ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter23 │ │ └── client │ │ ├── ClientAuthenticationFilter.java │ │ ├── ClientRealm.java │ │ ├── ClientSessionDAO.java │ │ └── ClientShiroFilterFactoryBean.java │ └── resources │ └── client │ ├── shiro-client-default.properties │ ├── spring-client-remote-service.xml │ ├── spring-client-shiro.xml │ └── spring-client.xml ├── shiro-example-chapter23-core ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── github │ └── zhangkaitao │ └── shiro │ └── chapter23 │ ├── core │ └── ClientSavedRequest.java │ └── remote │ ├── PermissionContext.java │ └── RemoteServiceInterface.java ├── shiro-example-chapter23-nginx ├── nginx-1.5.11.rar └── pom.xml ├── shiro-example-chapter23-pom └── pom.xml ├── shiro-example-chapter23-server ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter23 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── AppDao.java │ │ │ │ ├── AppDaoImpl.java │ │ │ │ ├── AuthorizationDao.java │ │ │ │ ├── AuthorizationDaoImpl.java │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── App.java │ │ │ │ ├── Authorization.java │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── remote │ │ │ │ └── RemoteService.java │ │ │ ├── service │ │ │ │ ├── AppService.java │ │ │ │ ├── AppServiceImpl.java │ │ │ │ ├── AuthorizationService.java │ │ │ │ ├── AuthorizationServiceImpl.java │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ ├── session │ │ │ │ ├── dao │ │ │ │ │ └── MySqlSessionDAO.java │ │ │ │ └── scheduler │ │ │ │ │ └── MySqlSessionValidationScheduler.java │ │ │ ├── utils │ │ │ │ └── SerializableUtils.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── AppController.java │ │ │ │ ├── AuthorizationController.java │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ ├── ServerFormAuthenticationFilter.java │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache-shiro.xml │ │ ├── resources.properties │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-remote-service.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── app │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── authorization │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── organization │ │ │ ├── appendChild.jsp │ │ │ ├── index.jsp │ │ │ ├── maintain.jsp │ │ │ ├── move.jsp │ │ │ ├── success.jsp │ │ │ └── tree.jsp │ │ ├── resource │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── role │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── unauthorized.jsp │ │ ├── user │ │ │ ├── changePassword.jsp │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ └── welcome.jsp │ │ ├── static │ │ ├── JQuery zTree v3.5.15 │ │ │ ├── api │ │ │ │ ├── API_cn.html │ │ │ │ ├── API_en.html │ │ │ │ ├── apiCss │ │ │ │ │ ├── api.js │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ ├── img │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ ├── cn │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ └── en │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── zTreeStyle │ │ │ │ │ ├── img │ │ │ │ │ ├── diy │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ └── 9.png │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ ├── loading.gif │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ └── zTreeStyle.css │ │ │ ├── demo │ │ │ │ ├── cn │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ └── en │ │ │ │ │ ├── asyncData │ │ │ │ │ ├── getNodes.php │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ ├── common.html │ │ │ │ │ ├── diy_async.html │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ ├── async.html │ │ │ │ │ ├── async_fun.html │ │ │ │ │ ├── click.html │ │ │ │ │ ├── custom_font.html │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ ├── expand.html │ │ │ │ │ ├── noicon.html │ │ │ │ │ ├── noline.html │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ ├── simpleData.html │ │ │ │ │ ├── standardData.html │ │ │ │ │ ├── update_fun.html │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ ├── radio.html │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ ├── async_edit.html │ │ │ │ │ ├── drag.html │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ ├── drag_super.html │ │ │ │ │ ├── edit.html │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ ├── edit_super.html │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── common.html │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ ├── diydom.html │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ ├── left_menu.html │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ ├── oneclick.html │ │ │ │ │ ├── oneroot.html │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ ├── select_menu.html │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ └── singlepath.html │ │ │ ├── js │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ └── log v3.x.txt │ │ ├── css │ │ │ ├── css.css │ │ │ └── layout-default-latest.css │ │ ├── jquery-treetable │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.txt │ │ │ ├── GPL-LICENSE.txt │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ │ ├── src │ │ │ │ │ └── jquery.treetable.js │ │ │ │ └── test │ │ │ │ │ └── jquery.treetable.test.js │ │ │ ├── stylesheets │ │ │ │ ├── jquery.treetable.css │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ └── screen.css │ │ │ ├── test.html │ │ │ └── treetable.jquery.json │ │ └── js │ │ │ ├── jquery-1.11.0.min.js │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ └── zhang-functions.tld │ │ └── web.xml │ └── sql │ ├── design.txt │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter24 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ ├── chapter24 │ │ │ ├── Constants.java │ │ │ ├── credentials │ │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ │ ├── OrganizationDao.java │ │ │ │ ├── OrganizationDaoImpl.java │ │ │ │ ├── ResourceDao.java │ │ │ │ ├── ResourceDaoImpl.java │ │ │ │ ├── RoleDao.java │ │ │ │ ├── RoleDaoImpl.java │ │ │ │ ├── UserDao.java │ │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ │ ├── Organization.java │ │ │ │ ├── Resource.java │ │ │ │ ├── Role.java │ │ │ │ └── User.java │ │ │ ├── realm │ │ │ │ └── UserRealm.java │ │ │ ├── service │ │ │ │ ├── OrganizationService.java │ │ │ │ ├── OrganizationServiceImpl.java │ │ │ │ ├── PasswordHelper.java │ │ │ │ ├── ResourceService.java │ │ │ │ ├── ResourceServiceImpl.java │ │ │ │ ├── RoleService.java │ │ │ │ ├── RoleServiceImpl.java │ │ │ │ ├── UserService.java │ │ │ │ └── UserServiceImpl.java │ │ │ └── web │ │ │ │ ├── bind │ │ │ │ ├── annotation │ │ │ │ │ └── CurrentUser.java │ │ │ │ └── method │ │ │ │ │ └── CurrentUserMethodArgumentResolver.java │ │ │ │ ├── controller │ │ │ │ ├── IndexController.java │ │ │ │ ├── LoginController.java │ │ │ │ ├── OrganizationController.java │ │ │ │ ├── ResourceController.java │ │ │ │ ├── RoleController.java │ │ │ │ ├── SessionController.java │ │ │ │ └── UserController.java │ │ │ │ ├── exception │ │ │ │ └── DefaultExceptionHandler.java │ │ │ │ ├── shiro │ │ │ │ └── filter │ │ │ │ │ ├── ForceLogoutFilter.java │ │ │ │ │ └── SysUserFilter.java │ │ │ │ └── taglib │ │ │ │ └── Functions.java │ │ │ └── spring │ │ │ ├── SpringCacheManagerWrapper.java │ │ │ └── SpringUtils.java │ ├── resources │ │ ├── ehcache │ │ │ └── ehcache.xml │ │ ├── resources.properties │ │ ├── spring-config-cache.xml │ │ ├── spring-config-shiro.xml │ │ ├── spring-config.xml │ │ ├── spring-mvc-shiro.xml │ │ └── spring-mvc.xml │ └── webapp │ │ └── WEB-INF │ │ ├── jsp │ │ ├── index.jsp │ │ ├── login.jsp │ │ ├── organization │ │ │ ├── appendChild.jsp │ │ │ ├── index.jsp │ │ │ ├── maintain.jsp │ │ │ ├── move.jsp │ │ │ ├── success.jsp │ │ │ └── tree.jsp │ │ ├── resource │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── role │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ ├── sessions │ │ │ └── list.jsp │ │ ├── unauthorized.jsp │ │ ├── user │ │ │ ├── changePassword.jsp │ │ │ ├── edit.jsp │ │ │ └── list.jsp │ │ └── welcome.jsp │ │ ├── static │ │ ├── JQuery zTree v3.5.15 │ │ │ ├── api │ │ │ │ ├── API_cn.html │ │ │ │ ├── API_en.html │ │ │ │ ├── apiCss │ │ │ │ │ ├── api.js │ │ │ │ │ ├── common.css │ │ │ │ │ ├── common_ie6.css │ │ │ │ │ ├── img │ │ │ │ │ │ ├── apiMenu.gif │ │ │ │ │ │ ├── apiMenu.png │ │ │ │ │ │ ├── background.jpg │ │ │ │ │ │ ├── chinese.png │ │ │ │ │ │ ├── close.png │ │ │ │ │ │ ├── contact-bg.png │ │ │ │ │ │ ├── english.png │ │ │ │ │ │ ├── header-bg.png │ │ │ │ │ │ ├── lightbulb.png │ │ │ │ │ │ ├── overlay_arrow.gif │ │ │ │ │ │ ├── overlay_arrow.png │ │ │ │ │ │ ├── overlay_bg.png │ │ │ │ │ │ ├── overlay_close_IE6.gif │ │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ ├── jquery-1.6.2.min.js │ │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ │ └── zTreeStyleForApi.css │ │ │ │ ├── cn │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ │ └── en │ │ │ │ │ ├── fn.zTree._z.html │ │ │ │ │ ├── fn.zTree.destroy.html │ │ │ │ │ ├── fn.zTree.getZTreeObj.html │ │ │ │ │ ├── fn.zTree.init.html │ │ │ │ │ ├── setting.async.autoParam.html │ │ │ │ │ ├── setting.async.contentType.html │ │ │ │ │ ├── setting.async.dataFilter.html │ │ │ │ │ ├── setting.async.dataType.html │ │ │ │ │ ├── setting.async.enable.html │ │ │ │ │ ├── setting.async.otherParam.html │ │ │ │ │ ├── setting.async.type.html │ │ │ │ │ ├── setting.async.url.html │ │ │ │ │ ├── setting.callback.beforeAsync.html │ │ │ │ │ ├── setting.callback.beforeCheck.html │ │ │ │ │ ├── setting.callback.beforeClick.html │ │ │ │ │ ├── setting.callback.beforeCollapse.html │ │ │ │ │ ├── setting.callback.beforeDblClick.html │ │ │ │ │ ├── setting.callback.beforeDrag.html │ │ │ │ │ ├── setting.callback.beforeDragOpen.html │ │ │ │ │ ├── setting.callback.beforeDrop.html │ │ │ │ │ ├── setting.callback.beforeEditName.html │ │ │ │ │ ├── setting.callback.beforeExpand.html │ │ │ │ │ ├── setting.callback.beforeMouseDown.html │ │ │ │ │ ├── setting.callback.beforeMouseUp.html │ │ │ │ │ ├── setting.callback.beforeRemove.html │ │ │ │ │ ├── setting.callback.beforeRename.html │ │ │ │ │ ├── setting.callback.beforeRightClick.html │ │ │ │ │ ├── setting.callback.onAsyncError.html │ │ │ │ │ ├── setting.callback.onAsyncSuccess.html │ │ │ │ │ ├── setting.callback.onCheck.html │ │ │ │ │ ├── setting.callback.onClick.html │ │ │ │ │ ├── setting.callback.onCollapse.html │ │ │ │ │ ├── setting.callback.onDblClick.html │ │ │ │ │ ├── setting.callback.onDrag.html │ │ │ │ │ ├── setting.callback.onDrop.html │ │ │ │ │ ├── setting.callback.onExpand.html │ │ │ │ │ ├── setting.callback.onMouseDown.html │ │ │ │ │ ├── setting.callback.onMouseUp.html │ │ │ │ │ ├── setting.callback.onNodeCreated.html │ │ │ │ │ ├── setting.callback.onRemove.html │ │ │ │ │ ├── setting.callback.onRename.html │ │ │ │ │ ├── setting.callback.onRightClick.html │ │ │ │ │ ├── setting.check.autoCheckTrigger.html │ │ │ │ │ ├── setting.check.chkDisabledInherit.html │ │ │ │ │ ├── setting.check.chkStyle.html │ │ │ │ │ ├── setting.check.chkboxType.html │ │ │ │ │ ├── setting.check.enable.html │ │ │ │ │ ├── setting.check.nocheckInherit.html │ │ │ │ │ ├── setting.check.radioType.html │ │ │ │ │ ├── setting.data.keep.leaf.html │ │ │ │ │ ├── setting.data.keep.parent.html │ │ │ │ │ ├── setting.data.key.checked.html │ │ │ │ │ ├── setting.data.key.children.html │ │ │ │ │ ├── setting.data.key.name.html │ │ │ │ │ ├── setting.data.key.title.html │ │ │ │ │ ├── setting.data.key.url.html │ │ │ │ │ ├── setting.data.simpleData.enable.html │ │ │ │ │ ├── setting.data.simpleData.idKey.html │ │ │ │ │ ├── setting.data.simpleData.pIdKey.html │ │ │ │ │ ├── setting.data.simpleData.rootPId.html │ │ │ │ │ ├── setting.edit.drag.autoExpandTrigger.html │ │ │ │ │ ├── setting.edit.drag.autoOpenTime.html │ │ │ │ │ ├── setting.edit.drag.borderMax.html │ │ │ │ │ ├── setting.edit.drag.borderMin.html │ │ │ │ │ ├── setting.edit.drag.inner.html │ │ │ │ │ ├── setting.edit.drag.isCopy.html │ │ │ │ │ ├── setting.edit.drag.isMove.html │ │ │ │ │ ├── setting.edit.drag.maxShowNodeNum.html │ │ │ │ │ ├── setting.edit.drag.minMoveSize.html │ │ │ │ │ ├── setting.edit.drag.next.html │ │ │ │ │ ├── setting.edit.drag.prev.html │ │ │ │ │ ├── setting.edit.editNameSelectAll.html │ │ │ │ │ ├── setting.edit.enable.html │ │ │ │ │ ├── setting.edit.removeTitle.html │ │ │ │ │ ├── setting.edit.renameTitle.html │ │ │ │ │ ├── setting.edit.showRemoveBtn.html │ │ │ │ │ ├── setting.edit.showRenameBtn.html │ │ │ │ │ ├── setting.treeId.html │ │ │ │ │ ├── setting.treeObj.html │ │ │ │ │ ├── setting.view.addDiyDom.html │ │ │ │ │ ├── setting.view.addHoverDom.html │ │ │ │ │ ├── setting.view.autoCancelSelected.html │ │ │ │ │ ├── setting.view.dblClickExpand.html │ │ │ │ │ ├── setting.view.expandSpeed.html │ │ │ │ │ ├── setting.view.fontCss.html │ │ │ │ │ ├── setting.view.nameIsHTML.html │ │ │ │ │ ├── setting.view.removeHoverDom.html │ │ │ │ │ ├── setting.view.selectedMulti.html │ │ │ │ │ ├── setting.view.showIcon.html │ │ │ │ │ ├── setting.view.showLine.html │ │ │ │ │ ├── setting.view.showTitle.html │ │ │ │ │ ├── setting.view.txtSelectedEnable.html │ │ │ │ │ ├── treeNode.check_Child_State.html │ │ │ │ │ ├── treeNode.check_Focus.html │ │ │ │ │ ├── treeNode.checked.html │ │ │ │ │ ├── treeNode.checkedOld.html │ │ │ │ │ ├── treeNode.children.html │ │ │ │ │ ├── treeNode.chkDisabled.html │ │ │ │ │ ├── treeNode.click.html │ │ │ │ │ ├── treeNode.diy.html │ │ │ │ │ ├── treeNode.editNameFlag.html │ │ │ │ │ ├── treeNode.getCheckStatus.html │ │ │ │ │ ├── treeNode.getNextNode.html │ │ │ │ │ ├── treeNode.getParentNode.html │ │ │ │ │ ├── treeNode.getPreNode.html │ │ │ │ │ ├── treeNode.halfCheck.html │ │ │ │ │ ├── treeNode.icon.html │ │ │ │ │ ├── treeNode.iconClose.html │ │ │ │ │ ├── treeNode.iconOpen.html │ │ │ │ │ ├── treeNode.iconSkin.html │ │ │ │ │ ├── treeNode.isAjaxing.html │ │ │ │ │ ├── treeNode.isFirstNode.html │ │ │ │ │ ├── treeNode.isHidden.html │ │ │ │ │ ├── treeNode.isHover.html │ │ │ │ │ ├── treeNode.isLastNode.html │ │ │ │ │ ├── treeNode.isParent.html │ │ │ │ │ ├── treeNode.level.html │ │ │ │ │ ├── treeNode.name.html │ │ │ │ │ ├── treeNode.nocheck.html │ │ │ │ │ ├── treeNode.open.html │ │ │ │ │ ├── treeNode.parentTId.html │ │ │ │ │ ├── treeNode.tId.html │ │ │ │ │ ├── treeNode.target.html │ │ │ │ │ ├── treeNode.url.html │ │ │ │ │ ├── treeNode.zAsync.html │ │ │ │ │ ├── zTreeObj.addNodes.html │ │ │ │ │ ├── zTreeObj.cancelEditName.html │ │ │ │ │ ├── zTreeObj.cancelSelectedNode.html │ │ │ │ │ ├── zTreeObj.checkAllNodes.html │ │ │ │ │ ├── zTreeObj.checkNode.html │ │ │ │ │ ├── zTreeObj.copyNode.html │ │ │ │ │ ├── zTreeObj.destroy.html │ │ │ │ │ ├── zTreeObj.editName.html │ │ │ │ │ ├── zTreeObj.expandAll.html │ │ │ │ │ ├── zTreeObj.expandNode.html │ │ │ │ │ ├── zTreeObj.getChangeCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getCheckedNodes.html │ │ │ │ │ ├── zTreeObj.getNodeByParam.html │ │ │ │ │ ├── zTreeObj.getNodeByTId.html │ │ │ │ │ ├── zTreeObj.getNodeIndex.html │ │ │ │ │ ├── zTreeObj.getNodes.html │ │ │ │ │ ├── zTreeObj.getNodesByFilter.html │ │ │ │ │ ├── zTreeObj.getNodesByParam.html │ │ │ │ │ ├── zTreeObj.getNodesByParamFuzzy.html │ │ │ │ │ ├── zTreeObj.getSelectedNodes.html │ │ │ │ │ ├── zTreeObj.hideNode.html │ │ │ │ │ ├── zTreeObj.hideNodes.html │ │ │ │ │ ├── zTreeObj.moveNode.html │ │ │ │ │ ├── zTreeObj.reAsyncChildNodes.html │ │ │ │ │ ├── zTreeObj.refresh.html │ │ │ │ │ ├── zTreeObj.removeChildNodes.html │ │ │ │ │ ├── zTreeObj.removeNode.html │ │ │ │ │ ├── zTreeObj.selectNode.html │ │ │ │ │ ├── zTreeObj.setChkDisabled.html │ │ │ │ │ ├── zTreeObj.setEditable.html │ │ │ │ │ ├── zTreeObj.setting.html │ │ │ │ │ ├── zTreeObj.showNode.html │ │ │ │ │ ├── zTreeObj.showNodes.html │ │ │ │ │ ├── zTreeObj.transformToArray.html │ │ │ │ │ ├── zTreeObj.transformTozTreeNodes.html │ │ │ │ │ └── zTreeObj.updateNode.html │ │ │ ├── css │ │ │ │ ├── demo.css │ │ │ │ └── zTreeStyle │ │ │ │ │ ├── img │ │ │ │ │ ├── diy │ │ │ │ │ │ ├── 1_close.png │ │ │ │ │ │ ├── 1_open.png │ │ │ │ │ │ ├── 2.png │ │ │ │ │ │ ├── 3.png │ │ │ │ │ │ ├── 4.png │ │ │ │ │ │ ├── 5.png │ │ │ │ │ │ ├── 6.png │ │ │ │ │ │ ├── 7.png │ │ │ │ │ │ ├── 8.png │ │ │ │ │ │ └── 9.png │ │ │ │ │ ├── line_conn.gif │ │ │ │ │ ├── loading.gif │ │ │ │ │ ├── zTreeStandard.gif │ │ │ │ │ └── zTreeStandard.png │ │ │ │ │ └── zTreeStyle.css │ │ │ ├── demo │ │ │ │ ├── cn │ │ │ │ │ ├── asyncData │ │ │ │ │ │ ├── getNodes.php │ │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ ├── diy_async.html │ │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ │ ├── async.html │ │ │ │ │ │ ├── async_fun.html │ │ │ │ │ │ ├── click.html │ │ │ │ │ │ ├── custom_font.html │ │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ │ ├── expand.html │ │ │ │ │ │ ├── noicon.html │ │ │ │ │ │ ├── noline.html │ │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ │ ├── simpleData.html │ │ │ │ │ │ ├── standardData.html │ │ │ │ │ │ ├── update_fun.html │ │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ │ ├── radio.html │ │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ │ ├── async_edit.html │ │ │ │ │ │ ├── drag.html │ │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ │ ├── drag_super.html │ │ │ │ │ │ ├── edit.html │ │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ │ ├── edit_super.html │ │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ │ ├── checkbox.html │ │ │ │ │ │ ├── common.html │ │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ │ ├── diydom.html │ │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ │ ├── left_menu.html │ │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ │ ├── oneclick.html │ │ │ │ │ │ ├── oneroot.html │ │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ │ ├── select_menu.html │ │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ │ └── singlepath.html │ │ │ │ └── en │ │ │ │ │ ├── asyncData │ │ │ │ │ ├── getNodes.php │ │ │ │ │ └── getNodesForBigData.php │ │ │ │ │ ├── bigdata │ │ │ │ │ ├── common.html │ │ │ │ │ ├── diy_async.html │ │ │ │ │ └── page.html │ │ │ │ │ ├── core │ │ │ │ │ ├── async.html │ │ │ │ │ ├── async_fun.html │ │ │ │ │ ├── click.html │ │ │ │ │ ├── custom_font.html │ │ │ │ │ ├── custom_icon.html │ │ │ │ │ ├── custom_iconSkin.html │ │ │ │ │ ├── expand.html │ │ │ │ │ ├── noicon.html │ │ │ │ │ ├── noline.html │ │ │ │ │ ├── otherMouse.html │ │ │ │ │ ├── searchNodes.html │ │ │ │ │ ├── simpleData.html │ │ │ │ │ ├── standardData.html │ │ │ │ │ ├── update_fun.html │ │ │ │ │ └── url.html │ │ │ │ │ ├── excheck │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── checkbox_chkDisabled.html │ │ │ │ │ ├── checkbox_count.html │ │ │ │ │ ├── checkbox_fun.html │ │ │ │ │ ├── checkbox_halfCheck.html │ │ │ │ │ ├── checkbox_nocheck.html │ │ │ │ │ ├── radio.html │ │ │ │ │ ├── radio_chkDisabled.html │ │ │ │ │ ├── radio_fun.html │ │ │ │ │ ├── radio_halfCheck.html │ │ │ │ │ └── radio_nocheck.html │ │ │ │ │ ├── exedit │ │ │ │ │ ├── async_edit.html │ │ │ │ │ ├── drag.html │ │ │ │ │ ├── drag_fun.html │ │ │ │ │ ├── drag_super.html │ │ │ │ │ ├── edit.html │ │ │ │ │ ├── edit_fun.html │ │ │ │ │ ├── edit_super.html │ │ │ │ │ └── multiTree.html │ │ │ │ │ ├── exhide │ │ │ │ │ ├── checkbox.html │ │ │ │ │ ├── common.html │ │ │ │ │ └── radio.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── super │ │ │ │ │ ├── asyncForAll.html │ │ │ │ │ ├── checkbox_radio.html │ │ │ │ │ ├── diydom.html │ │ │ │ │ ├── dragWithOther.html │ │ │ │ │ ├── left_menu.html │ │ │ │ │ ├── left_menuForOutLook.gif │ │ │ │ │ ├── left_menuForOutLook.html │ │ │ │ │ ├── left_menuForOutLook.png │ │ │ │ │ ├── oneclick.html │ │ │ │ │ ├── oneroot.html │ │ │ │ │ ├── rightClickMenu.html │ │ │ │ │ ├── select_menu.html │ │ │ │ │ ├── select_menu_checkbox.html │ │ │ │ │ ├── select_menu_radio.html │ │ │ │ │ └── singlepath.html │ │ │ ├── js │ │ │ │ ├── jquery-1.4.4.min.js │ │ │ │ ├── jquery.ztree.all-3.5.js │ │ │ │ ├── jquery.ztree.all-3.5.min.js │ │ │ │ ├── jquery.ztree.core-3.5.js │ │ │ │ ├── jquery.ztree.core-3.5.min.js │ │ │ │ ├── jquery.ztree.excheck-3.5.js │ │ │ │ ├── jquery.ztree.excheck-3.5.min.js │ │ │ │ ├── jquery.ztree.exedit-3.5.js │ │ │ │ ├── jquery.ztree.exedit-3.5.min.js │ │ │ │ ├── jquery.ztree.exhide-3.5.js │ │ │ │ └── jquery.ztree.exhide-3.5.min.js │ │ │ └── log v3.x.txt │ │ ├── css │ │ │ ├── css.css │ │ │ └── layout-default-latest.css │ │ ├── jquery-treetable │ │ │ ├── .gitignore │ │ │ ├── CHANGELOG.txt │ │ │ ├── GPL-LICENSE.txt │ │ │ ├── MIT-LICENSE.txt │ │ │ ├── README.md │ │ │ ├── index.html │ │ │ ├── javascripts │ │ │ │ ├── src │ │ │ │ │ └── jquery.treetable.js │ │ │ │ └── test │ │ │ │ │ └── jquery.treetable.test.js │ │ │ ├── stylesheets │ │ │ │ ├── jquery.treetable.css │ │ │ │ ├── jquery.treetable.theme.default.css │ │ │ │ └── screen.css │ │ │ ├── test.html │ │ │ └── treetable.jquery.json │ │ └── js │ │ │ ├── jquery-1.11.0.min.js │ │ │ └── jquery.layout-latest.min.js │ │ ├── tld │ │ └── zhang-functions.tld │ │ └── web.xml │ └── sql │ ├── shiro-data.sql │ └── shiro-schema.sql ├── shiro-example-chapter3 ├── pom.xml └── src │ ├── sql │ └── shiro-init-data.sql │ └── test │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter3 │ │ ├── AuthorizerTest.java │ │ ├── BaseTest.java │ │ ├── PermissionTest.java │ │ ├── RoleTest.java │ │ ├── permission │ │ ├── BitAndWildPermissionResolver.java │ │ ├── BitPermission.java │ │ └── MyRolePermissionResolver.java │ │ └── realm │ │ └── MyRealm.java │ └── resources │ ├── shiro-authorizer.ini │ ├── shiro-jdbc-authorizer.ini │ ├── shiro-permission.ini │ └── shiro-role.ini ├── shiro-example-chapter4 ├── pom.xml └── src │ └── test │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter4 │ │ ├── ConfigurationCreateTest.java │ │ ├── IniMainTest.java │ │ ├── NonConfigurationCreateTest.java │ │ └── authenticator │ │ └── MyAuthenticator.java │ └── resources │ ├── shiro-config-main.ini │ └── shiro-config.ini ├── shiro-example-chapter5 ├── pom.xml └── src │ ├── sql │ └── shiro-init-data.sql │ └── test │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter5 │ │ └── hash │ │ ├── BaseTest.java │ │ ├── CodecAndCryptoTest.java │ │ ├── PasswordTest.java │ │ ├── credentials │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ └── realm │ │ ├── MyRealm.java │ │ └── MyRealm2.java │ └── resources │ ├── ehcache.xml │ ├── shiro-hashedCredentialsMatcher.ini │ ├── shiro-jdbc-hashedCredentialsMatcher.ini │ ├── shiro-jdbc-passwordservice.ini │ ├── shiro-passwordservice.ini │ └── shiro-retryLimitHashedCredentialsMatcher.ini ├── shiro-example-chapter6 ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── github │ │ │ └── zhangkaitao │ │ │ └── shiro │ │ │ └── chapter6 │ │ │ ├── JdbcTemplateUtils.java │ │ │ ├── credentials │ │ │ └── RetryLimitHashedCredentialsMatcher.java │ │ │ ├── dao │ │ │ ├── PermissionDao.java │ │ │ ├── PermissionDaoImpl.java │ │ │ ├── RoleDao.java │ │ │ ├── RoleDaoImpl.java │ │ │ ├── UserDao.java │ │ │ └── UserDaoImpl.java │ │ │ ├── entity │ │ │ ├── Permission.java │ │ │ ├── Role.java │ │ │ ├── RolePermssion.java │ │ │ ├── User.java │ │ │ └── UserRole.java │ │ │ ├── realm │ │ │ ├── MyRealm1.java │ │ │ ├── MyRealm2.java │ │ │ ├── MyRealm3.java │ │ │ └── UserRealm.java │ │ │ └── service │ │ │ ├── PasswordHelper.java │ │ │ ├── PermissionService.java │ │ │ ├── PermissionServiceImpl.java │ │ │ ├── RoleService.java │ │ │ ├── RoleServiceImpl.java │ │ │ ├── UserService.java │ │ │ └── UserServiceImpl.java │ └── resources │ │ ├── ehcache.xml │ │ ├── shiro-multirealm.ini │ │ └── shiro.ini │ ├── sql │ └── shiro.sql │ └── test │ └── java │ └── com │ └── github │ └── zhangkaitao │ └── shiro │ └── chapter6 │ ├── BaseTest.java │ ├── realm │ ├── PrincialCollectionTest.java │ └── UserRealmTest.java │ └── service │ └── ServiceTest.java ├── shiro-example-chapter7 ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter7 │ │ └── web │ │ └── servlet │ │ ├── AuthenticatedServlet.java │ │ ├── FormFilterLoginServlet.java │ │ ├── LoginServlet.java │ │ ├── LogoutServlet.java │ │ ├── PermissionServlet.java │ │ ├── RoleServlet.java │ │ └── UnAuthorizedServlet.java │ ├── resources │ ├── shiro-basicfilterlogin.ini │ ├── shiro-formfilterlogin.ini │ └── shiro.ini │ └── webapp │ ├── WEB-INF │ ├── jsp │ │ ├── authenticated.jsp │ │ ├── formfilterlogin.jsp │ │ ├── hasPermission.jsp │ │ ├── hasRole.jsp │ │ ├── login.jsp │ │ ├── loginSuccess.jsp │ │ ├── logoutSuccess.jsp │ │ └── unauthorized.jsp │ └── web.xml │ └── index.jsp ├── shiro-example-chapter8 ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── github │ │ └── zhangkaitao │ │ └── shiro │ │ └── chapter8 │ │ └── web │ │ ├── env │ │ └── MyIniWebEnvironment.java │ │ └── filter │ │ ├── AnyRolesFilter.java │ │ ├── FormLoginFilter.java │ │ ├── MyAccessControlFilter.java │ │ ├── MyAdviceFilter.java │ │ ├── MyOncePerRequestFilter.java │ │ └── MyPathMatchingFilter.java │ ├── resources │ └── shiro.ini │ └── webapp │ ├── WEB-INF │ └── web.xml │ ├── index.jsp │ ├── login.jsp │ ├── test.jsp │ └── unauthorized.jsp └── shiro-example-chapter9 ├── pom.xml └── src └── main ├── resources └── shiro.ini └── webapp ├── WEB-INF ├── tags │ ├── hasAllPermissions.tag │ ├── hasAllRoles.tag │ └── hasAnyPermissions.tag └── web.xml ├── index.jsp └── login.jsp /.gitignore: -------------------------------------------------------------------------------- 1 | .classpath 2 | .project 3 | .springBeans 4 | .settings/ 5 | target/ 6 | *.iml 7 | .idea/ 8 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/main/java/com/github/zhangkaitao/shiro/chapter10/web/listener/MySessionListener2.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter10.web.listener; 2 | 3 | import org.apache.shiro.session.Session; 4 | import org.apache.shiro.session.SessionListener; 5 | import org.apache.shiro.session.SessionListenerAdapter; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-2-8 10 | *

Version: 1.0 11 | */ 12 | public class MySessionListener2 extends SessionListenerAdapter { 13 | @Override 14 | public void onStart(Session session) { 15 | System.out.println("会话创建:" + session.getId()); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/main/java/org/apache/shiro/ShiroConstants.java: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright (c) 2005-2012 https://github.com/zhangkaitao 3 | * 4 | * Licensed under the Apache License, Version 2.0 (the "License"); 5 | */ 6 | package org.apache.shiro; 7 | 8 | /** 9 | *

User: Zhang Kaitao 10 | *

Date: 13-3-22 上午7:44 11 | *

Version: 1.0 12 | */ 13 | public interface ShiroConstants { 14 | /** 15 | * 当前在线会话 16 | */ 17 | String ONLINE_SESSION = "online_session"; 18 | 19 | /** 20 | * 仅清空本地缓存 不情况数据库的 21 | */ 22 | String ONLY_CLEAR_CACHE = "online_session_only_clear_cache"; 23 | } 24 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/main/webapp/invalidSession.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 会话已无效,请重新登录。点击登录
8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 登录 5 | 6 | 7 | 8 | 9 |

${error}
10 |
11 | 用户名:
12 | 密码:
13 | 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/sql/shiro.sql: -------------------------------------------------------------------------------- 1 | drop table if exists sessions; 2 | 3 | create table sessions ( 4 | id varchar(200), 5 | session varchar(2000), 6 | constraint pk_sessions primary key(id) 7 | ) charset=utf8 ENGINE=InnoDB; 8 | -------------------------------------------------------------------------------- /shiro-example-chapter10/src/test/resources/shiro.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | sessionManager=org.apache.shiro.session.mgt.DefaultSessionManager 3 | securityManager.sessionManager=$sessionManager 4 | 5 | [users] 6 | zhang=123,admin 7 | wang=123 8 | 9 | [roles] 10 | admin=user:*,menu:* 11 | 12 | [urls] 13 | /logout=logout 14 | /login.jsp=authc 15 | /**=anon -------------------------------------------------------------------------------- /shiro-example-chapter11/src/main/java/com/github/zhangkaitao/shiro/chapter11/dao/PermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter11.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter11.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionDao { 11 | 12 | public Permission createPermission(Permission permission); 13 | 14 | public void deletePermission(Long permissionId); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /shiro-example-chapter11/src/main/java/com/github/zhangkaitao/shiro/chapter11/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter11.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter11.entity.Role; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface RoleDao { 11 | 12 | public Role createRole(Role role); 13 | public void deleteRole(Long roleId); 14 | 15 | public void correlationPermissions(Long roleId, Long... permissionIds); 16 | public void uncorrelationPermissions(Long roleId, Long... permissionIds); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter11/src/main/java/com/github/zhangkaitao/shiro/chapter11/service/PermissionService.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter11.service; 2 | 3 | import com.github.zhangkaitao.shiro.chapter11.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionService { 11 | public Permission createPermission(Permission permission); 12 | public void deletePermission(Long permissionId); 13 | } 14 | -------------------------------------------------------------------------------- /shiro-example-chapter11/src/main/resources/password-ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/java/com/github/zhangkaitao/shiro/chapter12/dao/PermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter12.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter12.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionDao { 11 | 12 | public Permission createPermission(Permission permission); 13 | 14 | public void deletePermission(Long permissionId); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/java/com/github/zhangkaitao/shiro/chapter12/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter12.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter12.entity.Role; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface RoleDao { 11 | 12 | public Role createRole(Role role); 13 | public void deleteRole(Long roleId); 14 | 15 | public void correlationPermissions(Long roleId, Long... permissionIds); 16 | public void uncorrelationPermissions(Long roleId, Long... permissionIds); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/java/com/github/zhangkaitao/shiro/chapter12/service/PermissionService.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter12.service; 2 | 3 | import com.github.zhangkaitao.shiro.chapter12.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionService { 11 | public Permission createPermission(Permission permission); 12 | public void deletePermission(Long permissionId); 13 | } 14 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 欢迎游客访问,点击登录
7 |
8 | 9 | 欢迎[]登录,点击退出
10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 登录 5 | 6 | 7 | 8 | 9 |

${error}
10 |
11 | 用户名:
12 | 密码:
13 | 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/webapp/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 拥有角色admin 10 | 11 | 12 | -------------------------------------------------------------------------------- /shiro-example-chapter12/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |
您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/java/com/github/zhangkaitao/shiro/chapter13/dao/PermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter13.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter13.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionDao { 11 | 12 | public Permission createPermission(Permission permission); 13 | 14 | public void deletePermission(Long permissionId); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/java/com/github/zhangkaitao/shiro/chapter13/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter13.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter13.entity.Role; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface RoleDao { 11 | 12 | public Role createRole(Role role); 13 | public void deleteRole(Long roleId); 14 | 15 | public void correlationPermissions(Long roleId, Long... permissionIds); 16 | public void uncorrelationPermissions(Long roleId, Long... permissionIds); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/java/com/github/zhangkaitao/shiro/chapter13/service/PermissionService.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter13.service; 2 | 3 | import com.github.zhangkaitao.shiro.chapter13.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionService { 11 | public Permission createPermission(Permission permission); 12 | public void deletePermission(Long permissionId); 13 | } 14 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/webapp/authenticated.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 访问该页面需要用户身份验证通过;即Subject.isAuthenticated()==true。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 欢迎游客访问,点击登录
7 |
8 | 9 | 欢迎[]登录,点击退出
10 |
11 | 12 | 您有角色admin 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/webapp/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 拥有角色admin 10 | 11 | 12 | -------------------------------------------------------------------------------- /shiro-example-chapter13/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter14/localhost.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter14/localhost.keystore -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/java/com/github/zhangkaitao/shiro/chapter14/dao/PermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter14.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter14.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionDao { 11 | 12 | public Permission createPermission(Permission permission); 13 | 14 | public void deletePermission(Long permissionId); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/java/com/github/zhangkaitao/shiro/chapter14/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter14.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter14.entity.Role; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface RoleDao { 11 | 12 | public Role createRole(Role role); 13 | public void deleteRole(Long roleId); 14 | 15 | public void correlationPermissions(Long roleId, Long... permissionIds); 16 | public void uncorrelationPermissions(Long roleId, Long... permissionIds); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/java/com/github/zhangkaitao/shiro/chapter14/service/PermissionService.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter14.service; 2 | 3 | import com.github.zhangkaitao.shiro.chapter14.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionService { 11 | public Permission createPermission(Permission permission); 12 | public void deletePermission(Long permissionId); 13 | } 14 | -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/webapp/authenticated.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 访问该页面需要用户身份验证通过;即Subject.isAuthenticated()==true。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 欢迎游客访问,点击登录
7 |
8 | 9 | 欢迎[]登录,点击退出
10 |
11 | 12 | 您有角色admin 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/webapp/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 7 | 8 | 9 | 拥有角色admin 10 | 11 | 12 | -------------------------------------------------------------------------------- /shiro-example-chapter14/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter15-client/localhost.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-client/localhost.keystore -------------------------------------------------------------------------------- /shiro-example-chapter15-client/src/main/java/com/github/zhangkaitao/shiro/chapter15/dao/PermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter15.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter15.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionDao { 11 | 12 | public Permission createPermission(Permission permission); 13 | 14 | public void deletePermission(Long permissionId); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /shiro-example-chapter15-client/src/main/java/com/github/zhangkaitao/shiro/chapter15/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter15.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter15.entity.Role; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface RoleDao { 11 | 12 | public Role createRole(Role role); 13 | public void deleteRole(Long roleId); 14 | 15 | public void correlationPermissions(Long roleId, Long... permissionIds); 16 | public void uncorrelationPermissions(Long roleId, Long... permissionIds); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter15-client/src/main/java/com/github/zhangkaitao/shiro/chapter15/service/PermissionService.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter15.service; 2 | 3 | import com.github.zhangkaitao.shiro.chapter15.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionService { 11 | public Permission createPermission(Permission permission); 12 | public void deletePermission(Long permissionId); 13 | } 14 | -------------------------------------------------------------------------------- /shiro-example-chapter15-client/src/main/webapp/casFailure.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | CAS失败了,如错误的Ticket或证书错误等。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter15-client/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 欢迎游客访问,点击登录
7 |
8 | 9 | 欢迎[]登录
10 |
11 | 12 | 您有角色admin 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /shiro-example-chapter15-server/localhost.keystore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/localhost.keystore -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/licensing/header-definitions.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | /* 5 | * 6 | */ 7 | ( |\t)*/\*( |\t)*$ 8 | ( |\t)*\*/( |\t)*$ 9 | true 10 | true 11 | 12 | 13 | -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/resources/messages_it.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/resources/messages_it.properties -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/favicon.ico -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/confirm.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/confirm.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/error.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/error.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/green.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/green.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/info.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/info.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/ja-sig-logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/ja-sig-logo.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/key-point_bl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/key-point_bl.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/key-point_br.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/key-point_br.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/key-point_tl.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/key-point_tl.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/key-point_tr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/key-point_tr.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/question.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/question.png -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/main/webapp/images/red.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter15-server/src/main/webapp/images/red.gif -------------------------------------------------------------------------------- /shiro-example-chapter15-server/src/test/webtest/README.txt: -------------------------------------------------------------------------------- 1 | See http://www.ja-sig.org/wiki/display/CAS/CAS+Functional+Tests for the descrition of these tests. 2 | 3 | DEPENDENCIES : 4 | - Canoo Webtest 2.5 5 | - The application proxyCallBackTest should be deployed twice an on a trusted Application Server 6 | over HTTPS 7 | 8 | CONFIGURATION FILES : 9 | - properties\canoo.properties 10 | - properties\local.properties : proxyCallBackURL1 and proxyCallBackURL2 should be mapped to 11 | proxyCallBackTest applications. 12 | 13 | USAGE : 14 | - launch build.xml with ANT 15 | 16 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/java/com/github/zhangkaitao/shiro/chapter16/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter16; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | } 11 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/java/com/github/zhangkaitao/shiro/chapter16/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter16.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter16.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface RoleDao { 13 | 14 | public Role createRole(Role role); 15 | public Role updateRole(Role role); 16 | public void deleteRole(Long roleId); 17 | 18 | public Role findOne(Long roleId); 19 | public List findAll(); 20 | } 21 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/java/com/github/zhangkaitao/shiro/chapter16/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter16.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter16.entity.User; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface UserDao { 13 | 14 | public User createUser(User user); 15 | public User updateUser(User user); 16 | public void deleteUser(Long userId); 17 | 18 | User findOne(Long userId); 19 | 20 | List findAll(); 21 | 22 | User findByUsername(String username); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter16/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter16/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter17-client/src/main/java/com/github/zhangkaitao/shiro/chapter18/oauth2/OAuth2AuthenticationException.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter18.oauth2; 2 | 3 | import org.apache.shiro.authc.AuthenticationException; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-2-18 8 | *

Version: 1.0 9 | */ 10 | public class OAuth2AuthenticationException extends AuthenticationException { 11 | 12 | public OAuth2AuthenticationException(Throwable cause) { 13 | super(cause); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /shiro-example-chapter17-client/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 欢迎游客访问,点击登录
7 |
8 | 9 | 欢迎[]登录
10 |
11 | 12 | 您有角色admin 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /shiro-example-chapter17-client/src/main/webapp/oauth2Failure.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 3 | 4 | 5 | 6 | 7 | 8 | OAuth2登录失败了,如错误的auth code。
9 | 10 | 错误码: 11 | ${param.error} 12 | ${param.error_description} 13 | 14 | 15 | -------------------------------------------------------------------------------- /shiro-example-chapter17-server/src/main/java/com/github/zhangkaitao/shiro/chapter17/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter17; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-17 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | 10 | public static String RESOURCE_SERVER_NAME = "chapter17-server"; 11 | public static final String INVALID_CLIENT_DESCRIPTION = "客户端验证失败,如错误的client_id/client_secret。"; 12 | } 13 | -------------------------------------------------------------------------------- /shiro-example-chapter17-server/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter17-server/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter17-server/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter17-server/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 |

Hello World!

4 | 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter17-server/src/sql/shiro-data.sql: -------------------------------------------------------------------------------- 1 | DELIMITER ; 2 | delete from oauth2_user; 3 | delete from oauth2_client; 4 | 5 | insert into oauth2_user values(1,'admin','d3c59d25033dbf980d29554025c23a75','8d78869f470951332959580424d4bf4f'); 6 | insert into oauth2_client values(1,'chapter17-client','c1ebe466-1cdc-4bd3-ab69-77c3561b9dee','d8346ea2-6017-43ed-ad68-19c0f971738b'); -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/java/com/github/zhangkaitao/shiro/chapter18/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter18; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | } 11 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/java/com/github/zhangkaitao/shiro/chapter18/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter18.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter18.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface RoleDao { 13 | 14 | public Role createRole(Role role); 15 | public Role updateRole(Role role); 16 | public void deleteRole(Long roleId); 17 | 18 | public Role findOne(Long roleId); 19 | public List findAll(); 20 | } 21 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/java/com/github/zhangkaitao/shiro/chapter18/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter18.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter18.entity.User; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface UserDao { 13 | 14 | public User createUser(User user); 15 | public User updateUser(User user); 16 | public void deleteUser(Long userId); 17 | 18 | User findOne(Long userId); 19 | 20 | List findAll(); 21 | 22 | User findByUsername(String username); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter18/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter18/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/java/com/github/zhangkaitao/shiro/chapter19/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter19; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | } 11 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/java/com/github/zhangkaitao/shiro/chapter19/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter19.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter19.entity.User; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface UserDao { 13 | 14 | public User createUser(User user); 15 | public User updateUser(User user); 16 | public void deleteUser(Long userId); 17 | 18 | User findOne(Long userId); 19 | 20 | List findAll(); 21 | 22 | User findByUsername(String username); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter19/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter19/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | <%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %> 3 | 4 | 5 | 6 | 7 | 8 | 没有授权。 9 | 10 | -------------------------------------------------------------------------------- /shiro-example-chapter2/src/test/resources/shiro-jdbc-realm.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | jdbcRealm=org.apache.shiro.realm.jdbc.JdbcRealm 3 | dataSource=com.alibaba.druid.pool.DruidDataSource 4 | dataSource.driverClassName=com.mysql.jdbc.Driver 5 | dataSource.url=jdbc:mysql://localhost:3306/shiro 6 | dataSource.username=root 7 | #dataSource.password= 8 | jdbcRealm.dataSource=$dataSource 9 | securityManager.realms=$jdbcRealm -------------------------------------------------------------------------------- /shiro-example-chapter2/src/test/resources/shiro-multi-realm.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | #声明一个realm 3 | myRealm1=com.github.zhangkaitao.shiro.chapter2.realm.MyRealm1 4 | myRealm2=com.github.zhangkaitao.shiro.chapter2.realm.MyRealm2 5 | #指定securityManager的realms实现 6 | securityManager.realms=$myRealm1,$myRealm2 -------------------------------------------------------------------------------- /shiro-example-chapter2/src/test/resources/shiro-realm.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | #声明一个realm 3 | myRealm1=com.github.zhangkaitao.shiro.chapter2.realm.MyRealm1 4 | #指定securityManager的realms实现 5 | securityManager.realms=$myRealm1 -------------------------------------------------------------------------------- /shiro-example-chapter2/src/test/resources/shiro.ini: -------------------------------------------------------------------------------- 1 | [users] 2 | zhang=123 3 | wang=123 4 | 5 | -------------------------------------------------------------------------------- /shiro-example-chapter20/src/main/java/com/github/zhangkaitao/shiro/chapter20/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter20; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-26 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String PARAM_DIGEST = "digest"; 10 | public static final String PARAM_USERNAME = "username"; 11 | } 12 | -------------------------------------------------------------------------------- /shiro-example-chapter20/src/main/java/com/github/zhangkaitao/shiro/chapter20/web/controller/ServiceController.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter20.web.controller; 2 | 3 | import org.springframework.web.bind.annotation.RequestMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | /** 7 | *

User: Zhang Kaitao 8 | *

Date: 14-2-26 9 | *

Version: 1.0 10 | */ 11 | @RestController 12 | public class ServiceController { 13 | 14 | @RequestMapping("/hello") 15 | public String hello1(String[] param1, String param2) { 16 | return "hello" + param1[0] + param1[1] + param2; 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/java/com/github/zhangkaitao/shiro/chapter21/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter21; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | } 11 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/java/com/github/zhangkaitao/shiro/chapter21/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter21.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter21.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface RoleDao { 13 | 14 | public Role createRole(Role role); 15 | public Role updateRole(Role role); 16 | public void deleteRole(Long roleId); 17 | 18 | public Role findOne(Long roleId); 19 | public List findAll(); 20 | } 21 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/java/com/github/zhangkaitao/shiro/chapter21/dao/UserDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter21.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter21.entity.User; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface UserDao { 13 | 14 | public User createUser(User user); 15 | public User updateUser(User user); 16 | public void deleteUser(Long userId); 17 | 18 | User findOne(Long userId); 19 | 20 | List findAll(); 21 | 22 | User findByUsername(String username); 23 | 24 | } 25 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter21/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter21/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/java/com/github/zhangkaitao/shiro/chapter22/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter22; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | } 11 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/java/com/github/zhangkaitao/shiro/chapter22/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter22.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter22.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface RoleDao { 13 | 14 | public Role createRole(Role role); 15 | public Role updateRole(Role role); 16 | public void deleteRole(Long roleId); 17 | 18 | public Role findOne(Long roleId); 19 | public List findAll(); 20 | } 21 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter22/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter22/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter23-app1/src/main/resources/client/shiro-client.properties: -------------------------------------------------------------------------------- 1 | client.app.key=645ba612-370a-43a8-a8e0-993e7a590cf0 2 | client.success.url=/hello 3 | client.filter.chain.definitions=/hello=anon;/login=authc;/**=authc 4 | 5 | -------------------------------------------------------------------------------- /shiro-example-chapter23-app1/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |
您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter23-app2/src/main/resources/client/shiro-client.properties: -------------------------------------------------------------------------------- 1 | client.app.key=645ba613-370a-43a8-a8e0-993e7a590cf0 2 | client.success.url=/hello 3 | client.filter.chain.definitions=/hello=anon;/login=authc;/**=authc 4 | 5 | -------------------------------------------------------------------------------- /shiro-example-chapter23-app2/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |
您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter23-client/src/main/resources/client/shiro-client-default.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-client/src/main/resources/client/shiro-client-default.properties -------------------------------------------------------------------------------- /shiro-example-chapter23-nginx/nginx-1.5.11.rar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-nginx/nginx-1.5.11.rar -------------------------------------------------------------------------------- /shiro-example-chapter23-nginx/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | shiro-example 7 | com.github.zhangkaitao 8 | 1.0-SNAPSHOT 9 | 10 | 4.0.0 11 | 12 | shiro-example-chapter23-nginx 13 | 14 | 15 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/java/com/github/zhangkaitao/shiro/chapter23/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter23; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | 11 | public static final String SERVER_APP_KEY = "645ba616-370a-43a8-a8e0-993e7a590cf0"; 12 | } 13 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/java/com/github/zhangkaitao/shiro/chapter23/dao/AppDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter23.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter23.entity.App; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface AppDao { 13 | 14 | public App createApp(App app); 15 | public App updateApp(App app); 16 | public void deleteApp(Long appId); 17 | 18 | public App findOne(Long appId); 19 | public List findAll(); 20 | 21 | Long findAppIdByAppKey(String appKey); 22 | } 23 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/java/com/github/zhangkaitao/shiro/chapter23/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter23.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter23.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface RoleDao { 13 | 14 | public Role createRole(Role role); 15 | public Role updateRole(Role role); 16 | public void deleteRole(Long roleId); 17 | 18 | public Role findOne(Long roleId); 19 | public List findAll(); 20 | } 21 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | } 8 | .table td,.table th{ 9 | border:1px solid #333333; 10 | padding: 10px; 11 | } 12 | 13 | .message { 14 | background: #eee; 15 | border: 1px solid #eee; 16 | margin: 10px 0; 17 | padding: 10px; 18 | } 19 | 20 | .form-group { 21 | margin: 10px 0; 22 | } 23 | 24 | .form-group label { 25 | width: 130px; 26 | float: left; 27 | } -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter23-server/src/sql/design.txt: -------------------------------------------------------------------------------- 1 | 2 | server 3 | 权限维护 4 | 用户 所属系统 权限 5 | 用户登录 6 | 7 | 1、缓存同步问题 8 | 2、会话同步问题 9 | 10 | client 11 | app.id= 12 | app.key= 13 | server.url= 14 | login.url= 15 | unauthorized.url= 16 | 17 | 18 | session.id=sid 19 | rememberMe.id=rememberMe 20 | 21 | filters= 22 | filter.chains=;;; 23 | 24 | session.validation.enable=false 25 | session.global.timeout=1800000 26 | 27 | RemoteRealm 28 | 29 | app* 30 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/java/com/github/zhangkaitao/shiro/chapter24/Constants.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter24; 2 | 3 | /** 4 | *

User: Zhang Kaitao 5 | *

Date: 14-2-15 6 | *

Version: 1.0 7 | */ 8 | public class Constants { 9 | public static final String CURRENT_USER = "user"; 10 | public static final String SESSION_FORCE_LOGOUT_KEY = "session.force.logout"; 11 | } 12 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/java/com/github/zhangkaitao/shiro/chapter24/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter24.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter24.entity.Role; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | *

User: Zhang Kaitao 9 | *

Date: 14-1-28 10 | *

Version: 1.0 11 | */ 12 | public interface RoleDao { 13 | 14 | public Role createRole(Role role); 15 | public Role updateRole(Role role); 16 | public void deleteRole(Long roleId); 17 | 18 | public Role findOne(Long roleId); 19 | public List findAll(); 20 | } 21 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/resources/resources.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/resources/resources.properties -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/jsp/organization/success.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 操作成功,点击刷新树 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 没有权限 5 | 6 | 7 | 8 | 9 |

您没有权限[${exception.message}]
10 | 11 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/jsp/welcome.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 欢迎学习Shiro综合案例,更多案例请访问我的github 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/apiMenu.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/background.jpg -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/chinese.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/close.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/contact-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/english.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/header-bg.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/lightbulb.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_arrow.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_bg.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/overlay_close_IE6.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/apiCss/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/fn.zTree._z.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSON$.fn.zTree._z

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

9 |

如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeId.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Stringsetting.treeId

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 容器的 jQuery 对象,主要功能:便于操作。

9 |

请勿进行初始化 或 修改,属于内部参数。

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/treeNode.diy.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

?treeNode.* DIY *

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

9 |
10 |
11 |

treeNode 举例

12 |

1. 设置节点的备用英文名称

13 |
var node = { "id":1, "name":"test1", "ename":"test eName"};
14 |
15 |
-------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/cn/zTreeObj.setting.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

JSONzTreeObj.setting

4 |

概述[ 依赖 jquery.ztree.core 核心 js ]

5 |
6 |

7 |
8 |

zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

9 |

v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

10 |
11 |
12 |
13 |
-------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/api/en/setting.treeObj.html: -------------------------------------------------------------------------------- 1 |
2 |
3 |

Objectsetting.treeObj

4 |

Overview[ depends on jquery.ztree.core js ]

5 |
6 |

7 |
8 |

zTree DOM's jQuery object, the main function: easy to internal operations.

9 |

Do not initialize or modify it, it is an internal argument.

10 |
11 |
12 | 13 |
14 |
-------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_close.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/1_open.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/2.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/3.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/4.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/5.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/6.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/7.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/8.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/diy/9.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/line_conn.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/loading.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/css/zTreeStyle/img/zTreeStandard.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/cn/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.gif -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tencent-rep/zhangkaitao-shiro-example/650a10d3a76546ec4895501e1c221af3d385f8f3/shiro-example-chapter24/src/main/webapp/WEB-INF/static/JQuery zTree v3.5.15/demo/en/super/left_menuForOutLook.png -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/css/css.css: -------------------------------------------------------------------------------- 1 | .table { 2 | width:80%; 3 | font:14px; 4 | color:#333333; 5 | text-align:center; 6 | border-collapse:collapse; 7 | table-layout: fixed; 8 | } 9 | .table td,.table th{ 10 | border:1px solid #333333; 11 | padding: 10px; 12 | } 13 | 14 | .message { 15 | background: #eee; 16 | border: 1px solid #eee; 17 | margin: 10px 0; 18 | padding: 10px; 19 | } 20 | 21 | .form-group { 22 | margin: 10px 0; 23 | } 24 | 25 | .form-group label { 26 | width: 130px; 27 | float: left; 28 | } -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/jquery-treetable/.gitignore: -------------------------------------------------------------------------------- 1 | *.swo 2 | *.swp 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /shiro-example-chapter24/src/main/webapp/WEB-INF/static/jquery-treetable/stylesheets/screen.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: #ddd; 3 | color: #000; 4 | font-family: Helvetica, Arial, sans-serif; 5 | line-height: 1.5; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #main { 11 | background: #fff; 12 | border-left: 20px solid #eee; 13 | border-right: 20px solid #eee; 14 | margin: 0 auto; 15 | max-width: 800px; 16 | padding: 20px; 17 | } 18 | 19 | pre.listing { 20 | background: #eee; 21 | border: 1px solid #ccc; 22 | margin: .6em 0 .3em 0; 23 | padding: .1em .3em; 24 | } 25 | 26 | pre.listing b { 27 | color: #f00; 28 | } 29 | -------------------------------------------------------------------------------- /shiro-example-chapter3/src/test/resources/shiro-role.ini: -------------------------------------------------------------------------------- 1 | [users] 2 | zhang=123,role1,role2 3 | wang=123,role1 4 | 5 | -------------------------------------------------------------------------------- /shiro-example-chapter5/src/sql/shiro-init-data.sql: -------------------------------------------------------------------------------- 1 | insert into users(username, password, password_salt) values('wu', '$shiro1$SHA-512$1$$PJkJr+wlNU1VHa4hWQuybjjVPyFzuNPcPu5MBH56scHri4UQPjvnumE7MbtcnDYhTcnxSkL9ei/bhIVrylxEwg==', null); 2 | insert into users(username, password, password_salt) values('liu', 'a9a114054aa6758184314fbb959fbda4', '24520ee264eab73ec09451d0e9ea6aac'); 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter5/src/test/resources/ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /shiro-example-chapter5/src/test/resources/shiro-hashedCredentialsMatcher.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | credentialsMatcher=org.apache.shiro.authc.credential.HashedCredentialsMatcher 3 | credentialsMatcher.hashAlgorithmName=md5 4 | credentialsMatcher.hashIterations=2 5 | credentialsMatcher.storedCredentialsHexEncoded=true 6 | 7 | myRealm=com.github.zhangkaitao.shiro.chapter5.hash.realm.MyRealm2 8 | myRealm.credentialsMatcher=$credentialsMatcher 9 | securityManager.realms=$myRealm 10 | -------------------------------------------------------------------------------- /shiro-example-chapter5/src/test/resources/shiro-retryLimitHashedCredentialsMatcher.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | credentialsMatcher=com.github.zhangkaitao.shiro.chapter5.hash.credentials.RetryLimitHashedCredentialsMatcher 3 | credentialsMatcher.hashAlgorithmName=md5 4 | credentialsMatcher.hashIterations=2 5 | credentialsMatcher.storedCredentialsHexEncoded=true 6 | 7 | myRealm=com.github.zhangkaitao.shiro.chapter5.hash.realm.MyRealm2 8 | myRealm.credentialsMatcher=$credentialsMatcher 9 | securityManager.realms=$myRealm 10 | -------------------------------------------------------------------------------- /shiro-example-chapter6/src/main/java/com/github/zhangkaitao/shiro/chapter6/dao/PermissionDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter6.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter6.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionDao { 11 | 12 | public Permission createPermission(Permission permission); 13 | 14 | public void deletePermission(Long permissionId); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /shiro-example-chapter6/src/main/java/com/github/zhangkaitao/shiro/chapter6/dao/RoleDao.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter6.dao; 2 | 3 | import com.github.zhangkaitao.shiro.chapter6.entity.Role; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface RoleDao { 11 | 12 | public Role createRole(Role role); 13 | public void deleteRole(Long roleId); 14 | 15 | public void correlationPermissions(Long roleId, Long... permissionIds); 16 | public void uncorrelationPermissions(Long roleId, Long... permissionIds); 17 | 18 | } 19 | -------------------------------------------------------------------------------- /shiro-example-chapter6/src/main/java/com/github/zhangkaitao/shiro/chapter6/service/PermissionService.java: -------------------------------------------------------------------------------- 1 | package com.github.zhangkaitao.shiro.chapter6.service; 2 | 3 | import com.github.zhangkaitao.shiro.chapter6.entity.Permission; 4 | 5 | /** 6 | *

User: Zhang Kaitao 7 | *

Date: 14-1-28 8 | *

Version: 1.0 9 | */ 10 | public interface PermissionService { 11 | public Permission createPermission(Permission permission); 12 | public void deletePermission(Long permissionId); 13 | } 14 | -------------------------------------------------------------------------------- /shiro-example-chapter6/src/main/resources/ehcache.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /shiro-example-chapter6/src/main/resources/shiro-multirealm.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | realm1=com.github.zhangkaitao.shiro.chapter6.realm.MyRealm1 3 | realm2=com.github.zhangkaitao.shiro.chapter6.realm.MyRealm2 4 | realm3=com.github.zhangkaitao.shiro.chapter6.realm.MyRealm3 5 | securityManager.realms=$realm1,$realm2,$realm3 6 | -------------------------------------------------------------------------------- /shiro-example-chapter6/src/main/resources/shiro.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | credentialsMatcher=com.github.zhangkaitao.shiro.chapter6.credentials.RetryLimitHashedCredentialsMatcher 3 | credentialsMatcher.hashAlgorithmName=md5 4 | credentialsMatcher.hashIterations=2 5 | credentialsMatcher.storedCredentialsHexEncoded=true 6 | 7 | userRealm=com.github.zhangkaitao.shiro.chapter6.realm.UserRealm 8 | userRealm.credentialsMatcher=$credentialsMatcher 9 | securityManager.realms=$userRealm 10 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/resources/shiro-basicfilterlogin.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | authcBasic.applicationName=please login 3 | 4 | perms.unauthorizedUrl=/unauthorized 5 | roles.unauthorizedUrl=/unauthorized 6 | [users] 7 | zhang=123,admin 8 | wang=123 9 | 10 | [roles] 11 | admin=user:*,menu:* 12 | 13 | [urls] 14 | /role=authcBasic,roles[admin] 15 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/resources/shiro-formfilterlogin.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | authc.loginUrl=/formfilterlogin 3 | authc.usernameParam=username 4 | authc.passwordParam=password 5 | authc.successUrl=/ 6 | authc.failureKeyAttribute=shiroLoginFailure 7 | 8 | perms.unauthorizedUrl=/unauthorized 9 | roles.unauthorizedUrl=/unauthorized 10 | 11 | [users] 12 | zhang=123,admin 13 | wang=123 14 | 15 | [roles] 16 | admin=user:*,menu:* 17 | 18 | [urls] 19 | /static/**=anon 20 | /formfilterlogin=authc 21 | /role=authc,roles[admin] 22 | /permission=authc,perms["user:create"] 23 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/resources/shiro.ini: -------------------------------------------------------------------------------- 1 | [main] 2 | #默认是/login.jsp 3 | authc.loginUrl=/login 4 | roles.unauthorizedUrl=/unauthorized 5 | perms.unauthorizedUrl=/unauthorized 6 | 7 | logout.redirectUrl=/login 8 | 9 | [users] 10 | zhang=123,admin 11 | wang=123 12 | 13 | [roles] 14 | admin=user:*,menu:* 15 | 16 | [urls] 17 | /logout2=logout 18 | /login=anon 19 | /logout=anon 20 | /unauthorized=anon 21 | /static/**=anon 22 | /authenticated=authc 23 | /role=authc,roles[admin] 24 | /permission=authc,perms["user:create"] 25 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/authenticated.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | ${subject.principal}身份验证已通过。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/formfilterlogin.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 登录 5 | 6 | 7 | 8 | 9 |

${error}
10 |
11 | 用户名:
12 | 密码:
13 | 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/hasPermission.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | ${subject.principal}拥有权限。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/hasRole.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | ${subject.principal}拥有角色。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 登录 5 | 6 | 7 | 8 | 9 |
${error}
10 |
11 | 用户名:
12 | 密码:
13 | 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/loginSuccess.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 欢迎${subject.principal}登录成功!退出 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/logoutSuccess.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | 退出成功!登录 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/WEB-INF/jsp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | ${subject.principal}没有授权。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter7/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 首页 5 | 6 | 7 | 8 | 登录
9 | 已身份认证
10 | 角色授权
11 | 权限授权
12 | 13 | 14 | -------------------------------------------------------------------------------- /shiro-example-chapter8/src/main/webapp/index.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | login 4 | 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter8/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 登录 5 | 6 | 7 | 8 | 9 |
${error}
10 |
11 | 用户名:
12 | 密码:
13 | 14 |
15 | 16 | 17 | -------------------------------------------------------------------------------- /shiro-example-chapter8/src/main/webapp/test.jsp: -------------------------------------------------------------------------------- 1 | 2 | 3 | login success 4 | 5 | 6 | -------------------------------------------------------------------------------- /shiro-example-chapter8/src/main/webapp/unauthorized.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 5 | 6 | 7 | ${subject.principal}没有授权。 8 | 9 | -------------------------------------------------------------------------------- /shiro-example-chapter9/src/main/resources/shiro.ini: -------------------------------------------------------------------------------- 1 | [users] 2 | zhang=123,admin 3 | wang=123 4 | 5 | [roles] 6 | admin=user:*,menu:* 7 | 8 | [urls] 9 | /logout=logout 10 | /login.jsp=authc 11 | /**=anon -------------------------------------------------------------------------------- /shiro-example-chapter9/src/main/webapp/login.jsp: -------------------------------------------------------------------------------- 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> 2 | 3 | 4 | 登录 5 | 6 | 7 | 8 | 9 |
${error}
10 |
11 | 用户名:
12 | 密码:
13 | 14 |
15 | 16 | 17 | --------------------------------------------------------------------------------