在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → 跟我学shiro源代码

跟我学shiro源代码

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:10.50M
  • 下载次数:1
  • 浏览次数:56
  • 发布时间:2021-01-14
  • 实例类别:一般编程问题
  • 发 布 人:好学IT男
  • 文件格式:.rar
  • 所需积分:2
 

实例介绍

【实例简介】
Apache Shiro 是一个框架,可用于身份验证和授权,是一个简单易学的框架,跟我学shiro详细讲解了shiro的开发,这里是该书的全部源代码
【实例截图】
【核心代码】
bfe68d59-4514-4e0a-9612-e659c2d5c9cc
└── shrio-example
└── trunk
├── pom.xml
├── README.md
├── 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
│   │   │   ├── session
│   │   │   │   ├── filter
│   │   │   │   │   └── OnlineSessionFilter.java
│   │   │   │   └── mgt
│   │   │   │   ├── IpUtils.java
│   │   │   │   ├── OnlineSessionFactory.java
│   │   │   │   └── OnlineSession.java
│   │   │   └── ShiroConstants.java
│   │   ├── resources
│   │   │   ├── ehcache.xml
│   │   │   └── shiro-web.ini
│   │   └── webapp
│   │   ├── index.jsp
│   │   ├── invalidSession.jsp
│   │   ├── login.jsp
│   │   └── WEB-INF
│   │   └── web.xml
│   ├── 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
│   │   │   │   ├── credentials
│   │   │   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   │   │   ├── dao
│   │   │   │   │   ├── PermissionDaoImpl.java
│   │   │   │   │   ├── PermissionDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Permission.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   ├── RolePermssion.java
│   │   │   │   │   ├── User.java
│   │   │   │   │   └── UserRole.java
│   │   │   │   ├── JdbcTemplateUtils.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── SerializableUtils.java
│   │   │   │   ├── service
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── PermissionServiceImpl.java
│   │   │   │   │   ├── PermissionService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   │   ├── PermissionDaoImpl.java
│   │   │   │   ├── PermissionDao.java
│   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   ├── RoleDao.java
│   │   │   │   ├── UserDaoImpl.java
│   │   │   │   └── UserDao.java
│   │   │   ├── entity
│   │   │   │   ├── Permission.java
│   │   │   │   ├── Role.java
│   │   │   │   ├── RolePermssion.java
│   │   │   │   ├── User.java
│   │   │   │   └── UserRole.java
│   │   │   ├── realm
│   │   │   │   └── UserRealm.java
│   │   │   ├── service
│   │   │   │   ├── PasswordHelper.java
│   │   │   │   ├── PermissionServiceImpl.java
│   │   │   │   ├── PermissionService.java
│   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   ├── RoleService.java
│   │   │   │   ├── UserServiceImpl.java
│   │   │   │   └── UserService.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
│   │   ├── index.jsp
│   │   ├── login.jsp
│   │   ├── success.jsp
│   │   ├── unauthorized.jsp
│   │   └── WEB-INF
│   │   └── web.xml
│   ├── 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
│   │   │   ├── PermissionDaoImpl.java
│   │   │   ├── PermissionDao.java
│   │   │   ├── RoleDaoImpl.java
│   │   │   ├── RoleDao.java
│   │   │   ├── UserDaoImpl.java
│   │   │   └── UserDao.java
│   │   ├── entity
│   │   │   ├── Permission.java
│   │   │   ├── Role.java
│   │   │   ├── RolePermssion.java
│   │   │   ├── User.java
│   │   │   └── UserRole.java
│   │   ├── realm
│   │   │   └── UserRealm.java
│   │   └── service
│   │   ├── PasswordHelper.java
│   │   ├── PermissionServiceImpl.java
│   │   ├── PermissionService.java
│   │   ├── RoleServiceImpl.java
│   │   ├── RoleService.java
│   │   ├── UserServiceImpl.java
│   │   └── UserService.java
│   ├── resources
│   │   ├── ehcache.xml
│   │   ├── spring-beans.xml
│   │   └── spring-shiro-web.xml
│   └── webapp
│   ├── authenticated.jsp
│   ├── index.jsp
│   ├── login.jsp
│   ├── success.jsp
│   ├── unauthorized.jsp
│   └── WEB-INF
│   └── web.xml
├── shiro-example-chapter14
│   ├── localhost.keystore
│   ├── pom.xml
│   └── src
│   └── main
│   ├── java
│   │   └── com
│   │   └── github
│   │   └── zhangkaitao
│   │   └── shiro
│   │   └── chapter14
│   │   ├── credentials
│   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   ├── dao
│   │   │   ├── PermissionDaoImpl.java
│   │   │   ├── PermissionDao.java
│   │   │   ├── RoleDaoImpl.java
│   │   │   ├── RoleDao.java
│   │   │   ├── UserDaoImpl.java
│   │   │   └── UserDao.java
│   │   ├── entity
│   │   │   ├── Permission.java
│   │   │   ├── Role.java
│   │   │   ├── RolePermssion.java
│   │   │   ├── User.java
│   │   │   └── UserRole.java
│   │   ├── realm
│   │   │   └── UserRealm.java
│   │   └── service
│   │   ├── PasswordHelper.java
│   │   ├── PermissionServiceImpl.java
│   │   ├── PermissionService.java
│   │   ├── RoleServiceImpl.java
│   │   ├── RoleService.java
│   │   ├── UserServiceImpl.java
│   │   └── UserService.java
│   ├── resources
│   │   ├── ehcache.xml
│   │   ├── spring-beans.xml
│   │   └── spring-shiro-web.xml
│   └── webapp
│   ├── authenticated.jsp
│   ├── index.jsp
│   ├── login.jsp
│   ├── success.jsp
│   ├── unauthorized.jsp
│   └── WEB-INF
│   └── web.xml
├── shiro-example-chapter15-client
│   ├── localhost.keystore
│   ├── pom.xml
│   └── src
│   └── main
│   ├── java
│   │   └── com
│   │   └── github
│   │   └── zhangkaitao
│   │   └── shiro
│   │   └── chapter15
│   │   ├── credentials
│   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   ├── dao
│   │   │   ├── PermissionDaoImpl.java
│   │   │   ├── PermissionDao.java
│   │   │   ├── RoleDaoImpl.java
│   │   │   ├── RoleDao.java
│   │   │   ├── UserDaoImpl.java
│   │   │   └── UserDao.java
│   │   ├── entity
│   │   │   ├── Permission.java
│   │   │   ├── Role.java
│   │   │   ├── RolePermssion.java
│   │   │   ├── User.java
│   │   │   └── UserRole.java
│   │   ├── realm
│   │   │   ├── MyCasRealm.java
│   │   │   └── UserRealm.java
│   │   └── service
│   │   ├── PasswordHelper.java
│   │   ├── PermissionServiceImpl.java
│   │   ├── PermissionService.java
│   │   ├── RoleServiceImpl.java
│   │   ├── RoleService.java
│   │   ├── UserServiceImpl.java
│   │   └── UserService.java
│   ├── resources
│   │   ├── ehcache.xml
│   │   ├── spring-beans.xml
│   │   └── spring-shiro-web.xml
│   └── webapp
│   ├── casFailure.jsp
│   ├── index.jsp
│   └── WEB-INF
│   └── web.xml
├── 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_ar.properties
│   │   │   ├── messages_ca.properties
│   │   │   ├── messages_cs.properties
│   │   │   ├── messages_de.properties
│   │   │   ├── messages_es.properties
│   │   │   ├── messages_fa.properties
│   │   │   ├── messages_fr.properties
│   │   │   ├── messages_hr.properties
│   │   │   ├── messages_it.properties
│   │   │   ├── messages_ja.properties
│   │   │   ├── messages_mk.properties
│   │   │   ├── messages_nl.properties
│   │   │   ├── messages_pl.properties
│   │   │   ├── messages.properties
│   │   │   ├── messages_pt_BR.properties
│   │   │   ├── messages_pt_PT.properties
│   │   │   ├── messages_ru.properties
│   │   │   ├── messages_sl.properties
│   │   │   ├── messages_sv.properties
│   │   │   ├── messages_tr.properties
│   │   │   ├── messages_ur.properties
│   │   │   ├── messages_zh_CN.properties
│   │   │   ├── messages_zh_TW.properties
│   │   │   ├── protocol_views.properties
│   │   │   └── saml_views.properties
│   │   └── webapp
│   │   ├── 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
│   │   └── WEB-INF
│   │   ├── cas.properties
│   │   ├── cas-servlet.xml
│   │   ├── deployerConfigContext.xml
│   │   ├── login-webflow.xml
│   │   ├── logout-webflow.xml
│   │   ├── restlet-servlet.xml
│   │   ├── spring-configuration
│   │   │   ├── applicationContext.xml
│   │   │   ├── argumentExtractorsConfiguration.xml
│   │   │   ├── auditTrailContext.xml
│   │   │   ├── filters.xml
│   │   │   ├── log4jConfiguration.xml
│   │   │   ├── propertyFileConfigurer.xml
│   │   │   ├── README.txt
│   │   │   ├── securityContext.xml
│   │   │   ├── ticketExpirationPolicies.xml
│   │   │   ├── ticketGrantingTicketCookieGenerator.xml
│   │   │   ├── ticketRegistry.xml
│   │   │   ├── uniqueIdGenerators.xml
│   │   │   └── warnCookieGenerator.xml
│   │   ├── unused-spring-configuration
│   │   │   ├── clearpass-configuration.xml
│   │   │   ├── lppe-configuration.xml
│   │   │   └── mbeans.xml
│   │   ├── view
│   │   │   └── jsp
│   │   │   ├── authorizationFailure.jsp
│   │   │   ├── default
│   │   │   │   └── ui
│   │   │   │   ├── casAccountDisabledView.jsp
│   │   │   │   ├── casAccountLockedView.jsp
│   │   │   │   ├── casBadHoursView.jsp
│   │   │   │   ├── casBadWorkstationView.jsp
│   │   │   │   ├── casConfirmView.jsp
│   │   │   │   ├── casExpiredPassView.jsp
│   │   │   │   ├── casGenericSuccess.jsp
│   │   │   │   ├── 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
│   ├── site
│   │   └── site.xml
│   └── test
│   ├── clover
│   │   └── clover.license
│   ├── java
│   │   └── org
│   │   └── jasig
│   │   └── cas
│   │   └── WiringTests.java
│   ├── resources
│   │   └── log4j.xml
│   └── webtest
│   ├── build.xml
│   ├── includes
│   │   ├── config.xml
│   │   └── definition.xml
│   ├── logintests.xml
│   ├── modules
│   │   ├── checkBadCredentials.xml
│   │   ├── checkLoginSuccess.xml
│   │   ├── checkWarnPage.xml
│   │   ├── extractServiceTicket.xml
│   │   ├── getLoginFormWithoutService.xml
│   │   ├── getLoginFormWithService.xml
│   │   ├── getLogout.xml
│   │   ├── processLogin.xml
│   │   ├── verifyCookie.xml
│   │   ├── verifyLoginForm.xml
│   │   └── verifyRedirect.xml
│   ├── properties
│   │   ├── canoo.properties
│   │   └── local.properties
│   ├── proxyCallBackTest
│   │   ├── index.jsp
│   │   └── WEB-INF
│   │   └── web.xml
│   ├── README.txt
│   └── validationtests.xml
├── shiro-example-chapter16
│   ├── pom.xml
│   └── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │   └── github
│   │   │   └── zhangkaitao
│   │   │   └── shiro
│   │   │   ├── chapter16
│   │   │   │   ├── Constants.java
│   │   │   │   ├── credentials
│   │   │   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   │   │   ├── dao
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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
│   ├── index.jsp
│   ├── oauth2Failure.jsp
│   └── WEB-INF
│   └── web.xml
├── shiro-example-chapter17-server
│   ├── pom.xml
│   └── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │   └── github
│   │   │   └── zhangkaitao
│   │   │   └── shiro
│   │   │   ├── chapter17
│   │   │   │   ├── Constants.java
│   │   │   │   ├── credentials
│   │   │   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   │   │   ├── dao
│   │   │   │   │   ├── ClientDaoImpl.java
│   │   │   │   │   ├── ClientDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Client.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── ClientServiceImpl.java
│   │   │   │   │   ├── ClientService.java
│   │   │   │   │   ├── OAuthServiceImpl.java
│   │   │   │   │   ├── OAuthService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   ├── index.jsp
│   │   └── 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
│   └── 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
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UrlFilterDaoImpl.java
│   │   │   │   │   ├── UrlFilterDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   ├── UrlFilter.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── ShiroFilerChainManager.java
│   │   │   │   │   ├── UrlFilterServiceImpl.java
│   │   │   │   │   ├── UrlFilterService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   ├── unauthorized.jsp
│   │   └── 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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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-chapter2
│   ├── pom.xml
│   └── src
│   ├── sql
│   │   └── shiro.sql
│   └── test
│   ├── java
│   │   └── com
│   │   └── github
│   │   └── zhangkaitao
│   │   └── shiro
│   │   └── chapter2
│   │   ├── authenticator
│   │   │   └── strategy
│   │   │   ├── AtLeastTwoAuthenticatorStrategy.java
│   │   │   └── OnlyOneAuthenticatorStrategy.java
│   │   ├── AuthenticatorTest.java
│   │   ├── LoginLogoutTest.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.ini
│   ├── shiro-jdbc-realm.ini
│   ├── shiro-multi-realm.ini
│   └── shiro-realm.ini
├── shiro-example-chapter20
│   ├── pom.xml
│   └── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │   └── github
│   │   │   └── zhangkaitao
│   │   │   └── shiro
│   │   │   └── chapter20
│   │   │   ├── codec
│   │   │   │   └── HmacSHA256Utils.java
│   │   │   ├── Constants.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
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   ├── UserDao.java
│   │   │   │   │   ├── UserRunAsDaoImpl.java
│   │   │   │   │   └── UserRunAsDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   ├── User.java
│   │   │   │   │   └── UserRunAs.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserRunAsServiceImpl.java
│   │   │   │   │   ├── UserRunAsService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── jcaptcha
│   │   │   │   │   ├── GMailEngine.java
│   │   │   │   │   ├── JCaptchaFilter.java
│   │   │   │   │   ├── JCaptcha.java
│   │   │   │   │   ├── JCaptchaValidateFilter.java
│   │   │   │   │   ├── MyFormAuthenticationFilter.java
│   │   │   │   │   └── MyManageableImageCaptchaService.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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
│   ├── success.jsp
│   ├── unauthorized.jsp
│   └── WEB-INF
│   └── web.xml
├── 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
│   ├── success.jsp
│   ├── unauthorized.jsp
│   └── WEB-INF
│   └── web.xml
├── 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
│   │   │   │   │   ├── AppDaoImpl.java
│   │   │   │   │   ├── AppDao.java
│   │   │   │   │   ├── AuthorizationDaoImpl.java
│   │   │   │   │   ├── AuthorizationDao.java
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── App.java
│   │   │   │   │   ├── Authorization.java
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── remote
│   │   │   │   │   └── RemoteService.java
│   │   │   │   ├── service
│   │   │   │   │   ├── AppServiceImpl.java
│   │   │   │   │   ├── AppService.java
│   │   │   │   │   ├── AuthorizationServiceImpl.java
│   │   │   │   │   ├── AuthorizationService.java
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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
│   │   │   │   │   ├── OrganizationDaoImpl.java
│   │   │   │   │   ├── OrganizationDao.java
│   │   │   │   │   ├── ResourceDaoImpl.java
│   │   │   │   │   ├── ResourceDao.java
│   │   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   │   ├── RoleDao.java
│   │   │   │   │   ├── UserDaoImpl.java
│   │   │   │   │   └── UserDao.java
│   │   │   │   ├── entity
│   │   │   │   │   ├── Organization.java
│   │   │   │   │   ├── Resource.java
│   │   │   │   │   ├── Role.java
│   │   │   │   │   └── User.java
│   │   │   │   ├── realm
│   │   │   │   │   └── UserRealm.java
│   │   │   │   ├── service
│   │   │   │   │   ├── OrganizationServiceImpl.java
│   │   │   │   │   ├── OrganizationService.java
│   │   │   │   │   ├── PasswordHelper.java
│   │   │   │   │   ├── ResourceServiceImpl.java
│   │   │   │   │   ├── ResourceService.java
│   │   │   │   │   ├── RoleServiceImpl.java
│   │   │   │   │   ├── RoleService.java
│   │   │   │   │   ├── UserServiceImpl.java
│   │   │   │   │   └── UserService.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
│   │   │   ├── css
│   │   │   │   ├── css.css
│   │   │   │   └── layout-default-latest.css
│   │   │   ├── jquery-treetable
│   │   │   │   ├── CHANGELOG.txt
│   │   │   │   ├── GPL-LICENSE.txt
│   │   │   │   ├── index.html
│   │   │   │   ├── javascripts
│   │   │   │   │   ├── src
│   │   │   │   │   │   └── jquery.treetable.js
│   │   │   │   │   └── test
│   │   │   │   │   └── jquery.treetable.test.js
│   │   │   │   ├── MIT-LICENSE.txt
│   │   │   │   ├── README.md
│   │   │   │   ├── stylesheets
│   │   │   │   │   ├── jquery.treetable.css
│   │   │   │   │   ├── jquery.treetable.theme.default.css
│   │   │   │   │   └── screen.css
│   │   │   │   ├── test.html
│   │   │   │   └── treetable.jquery.json
│   │   │   ├── JQuery zTree v3.5.15
│   │   │   │   ├── api
│   │   │   │   │   ├── API_cn.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
│   │   │   │   │   ├── API_en.html
│   │   │   │   │   ├── cn
│   │   │   │   │   │   ├── fn.zTree.destroy.html
│   │   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   │   ├── zTreeObj.getNodes.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.destroy.html
│   │   │   │   │   ├── fn.zTree.getZTreeObj.html
│   │   │   │   │   ├── fn.zTree.init.html
│   │   │   │   │   ├── fn.zTree._z.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.chkboxType.html
│   │   │   │   │   ├── setting.check.chkDisabledInherit.html
│   │   │   │   │   ├── setting.check.chkStyle.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.checked.html
│   │   │   │   │   ├── treeNode.checkedOld.html
│   │   │   │   │   ├── treeNode.check_Focus.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.iconClose.html
│   │   │   │   │   ├── treeNode.icon.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.target.html
│   │   │   │   │   ├── treeNode.tId.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.getNodesByFilter.html
│   │   │   │   │   ├── zTreeObj.getNodesByParamFuzzy.html
│   │   │   │   │   ├── zTreeObj.getNodesByParam.html
│   │   │   │   │   ├── zTreeObj.getNodes.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
│   │   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   │   ├── bigdata
│   │   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   │   └── page.html
│   │   │   │   │   │   ├── core
│   │   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   │   ├── exedit
│   │   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   │   ├── left_menu.html
│   │   │   │   │   │   ├── oneclick.html
│   │   │   │   │   │   ├── oneroot.html
│   │   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   │   ├── select_menu.html
│   │   │   │   │   │   ├── select_menu_radio.html
│   │   │   │   │   │   └── singlepath.html
│   │   │   │   │   └── en
│   │   │   │   │   ├── asyncData
│   │   │   │   │   │   ├── getNodesForBigData.php
│   │   │   │   │   │   └── getNodes.php
│   │   │   │   │   ├── bigdata
│   │   │   │   │   │   ├── common.html
│   │   │   │   │   │   ├── diy_async.html
│   │   │   │   │   │   └── page.html
│   │   │   │   │   ├── core
│   │   │   │   │   │   ├── async_fun.html
│   │   │   │   │   │   ├── async.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_chkDisabled.html
│   │   │   │   │   │   ├── checkbox_count.html
│   │   │   │   │   │   ├── checkbox_fun.html
│   │   │   │   │   │   ├── checkbox_halfCheck.html
│   │   │   │   │   │   ├── checkbox.html
│   │   │   │   │   │   ├── checkbox_nocheck.html
│   │   │   │   │   │   ├── radio_chkDisabled.html
│   │   │   │   │   │   ├── radio_fun.html
│   │   │   │   │   │   ├── radio_halfCheck.html
│   │   │   │   │   │   ├── radio.html
│   │   │   │   │   │   └── radio_nocheck.html
│   │   │   │   │   ├── exedit
│   │   │   │   │   │   ├── async_edit.html
│   │   │   │   │   │   ├── drag_fun.html
│   │   │   │   │   │   ├── drag.html
│   │   │   │   │   │   ├── drag_super.html
│   │   │   │   │   │   ├── edit_fun.html
│   │   │   │   │   │   ├── edit.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_menuForOutLook.gif
│   │   │   │   │   ├── left_menuForOutLook.html
│   │   │   │   │   ├── left_menuForOutLook.png
│   │   │   │   │   ├── left_menu.html
│   │   │   │   │   ├── oneclick.html
│   │   │   │   │   ├── oneroot.html
│   │   │   │   │   ├── rightClickMenu.html
│   │   │   │   │   ├── select_menu_checkbox.html
│   │   │   │   │   ├── select_menu.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
│   │   │   └── 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
│   │   ├── permission
│   │   │   ├── BitAndWildPermissionResolver.java
│   │   │   ├── BitPermission.java
│   │   │   └── MyRolePermissionResolver.java
│   │   ├── PermissionTest.java
│   │   ├── realm
│   │   │   └── MyRealm.java
│   │   └── RoleTest.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
│   │   ├── authenticator
│   │   │   └── MyAuthenticator.java
│   │   ├── ConfigurationCreateTest.java
│   │   ├── IniMainTest.java
│   │   └── NonConfigurationCreateTest.java
│   └── resources
│   ├── shiro-config.ini
│   └── shiro-config-main.ini
├── shiro-example-chapter5
│   ├── pom.xml
│   └── src
│   ├── sql
│   │   └── shiro-init-data.sql
│   └── test
│   ├── java
│   │   └── com
│   │   └── github
│   │   └── zhangkaitao
│   │   └── shiro
│   │   └── chapter5
│   │   └── hash
│   │   ├── BaseTest.java
│   │   ├── CodecAndCryptoTest.java
│   │   ├── credentials
│   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   ├── PasswordTest.java
│   │   └── realm
│   │   ├── MyRealm2.java
│   │   └── MyRealm.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
│   │   │   ├── credentials
│   │   │   │   └── RetryLimitHashedCredentialsMatcher.java
│   │   │   ├── dao
│   │   │   │   ├── PermissionDaoImpl.java
│   │   │   │   ├── PermissionDao.java
│   │   │   │   ├── RoleDaoImpl.java
│   │   │   │   ├── RoleDao.java
│   │   │   │   ├── UserDaoImpl.java
│   │   │   │   └── UserDao.java
│   │   │   ├── entity
│   │   │   │   ├── Permission.java
│   │   │   │   ├── Role.java
│   │   │   │   ├── RolePermssion.java
│   │   │   │   ├── User.java
│   │   │   │   └── UserRole.java
│   │   │   ├── JdbcTemplateUtils.java
│   │   │   ├── realm
│   │   │   │   ├── MyRealm1.java
│   │   │   │   ├── MyRealm2.java
│   │   │   │   ├── MyRealm3.java
│   │   │   │   └── UserRealm.java
│   │   │   └── service
│   │   │   ├── PasswordHelper.java
│   │   │   ├── PermissionServiceImpl.java
│   │   │   ├── PermissionService.java
│   │   │   ├── RoleServiceImpl.java
│   │   │   ├── RoleService.java
│   │   │   ├── UserServiceImpl.java
│   │   │   └── UserService.java
│   │   └── resources
│   │   ├── ehcache.xml
│   │   ├── shiro.ini
│   │   └── shiro-multirealm.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
│   ├── index.jsp
│   └── WEB-INF
│   ├── jsp
│   │   ├── authenticated.jsp
│   │   ├── formfilterlogin.jsp
│   │   ├── hasPermission.jsp
│   │   ├── hasRole.jsp
│   │   ├── login.jsp
│   │   ├── loginSuccess.jsp
│   │   ├── logoutSuccess.jsp
│   │   └── unauthorized.jsp
│   └── web.xml
├── 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
│   ├── index.jsp
│   ├── login.jsp
│   ├── test.jsp
│   ├── unauthorized.jsp
│   └── WEB-INF
│   └── web.xml
└── shiro-example-chapter9
├── pom.xml
└── src
└── main
├── resources
│   └── shiro.ini
└── webapp
├── index.jsp
├── login.jsp
└── WEB-INF
├── tags
│   ├── hasAllPermissions.tag
│   ├── hasAllRoles.tag
│   └── hasAnyPermissions.tag
└── web.xml

930 directories, 4593 files

标签:

实例下载地址

跟我学shiro源代码

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警