最近在寻找开源的JavaWEB框架及源码进行学习。发现jeesite不错,所以做一下研究记录。

  

 jeesite 网址:http://jeesite.com/

使用技术:Spring MVC   +Hibernate4 +BootStrap   权限验证框架采用Apache Shrio


系统分析首先需要看 Web.xml配置文件里面配置的信息


 

<filter>
     <filter-name>shiroFilter</filter-name>
     <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
     <init-param>
       <param-name>targetFilterLifecycle</param-name>
       <param-value>true</param-value>
     </init-param>
   </filter>
   <filter-mapping>
     <filter-name>shiroFilter</filter-name>
     <url-pattern>/*</url-pattern>
   </filter-mapping>

在web.xml里面主要的配置信息应该看这些信息

    filter-name 属性的shiroFilter应该与

spring-context-shiro.xml

配置文件中的bean id 一致

<!-- 安全认证过滤器 -->
     <bean id="shiroFilter" class="org.apache.shiro.spring.web.ShiroFilterFactoryBean">
         <property name="securityManager" ref="securityManager" />
         <property name="loginUrl" value="${adminPath}/login" />
         <property name="successUrl" value="${adminPath}" />
         <property name="filters">
             <map>
                 <entry key="authc" value-ref="formAuthenticationFilter"/>
             </map>
         </property>
         <property name="filterChainDefinitions">
             <value>
                 /static/** = anon                                                                /*  这个属性的意思static路径下的资源是可以直接访问**/
                 /userfiles/** = anon                                                         /*  这个属性的意思userfiles路径下的资源是可以直接访问**/
                 ${adminPath}/login = authc                                              /*  这个属性的意思这个路径下的资源是用来登录**/
                 ${adminPath}/logout = logout
                 ${adminPath}/** = user
              </value>
         </property>
     </bean>

最关心的东西其实是在这里配置

   
 

<!-- 定义 Shiro 主要业务对象 -->
     <bean id="securityManager" class="org.apache.shiro.web.mgt.DefaultWebSecurityManager">
         <!-- <property name="sessionManager" ref="sessionManager" /> -->
         <property name="realm" ref="systemAuthorizingRealm" />
         <property name="cacheManager" ref="shiroCacheManager" />
     </bean>

这个配置说明  SystemAuthorizingRealm是主要的登录验证的


   jeestie 自带的有简单的代码生成器,可以自动的根据分层生成 Dao ,Service ,以及相关的jsp页面。

  代码生成器生成的Bean 继承自IdEntity 而 IdEntity 又继承自DataEntity 并且实现了Serializable接口

IdEntity自带的有id属性;

DataEntity自带的有

这些属性

所以要确保这些属性在数据库中确实存在。

thinkgem 是系统自带的权限最全的管理员

登录系统后可以看到

 系统中的组织权限结构

 

 

 

 

 

 

表名称:sys_user_role  用户角色关联表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

User_id

varchar

64

用户编号

 

Role_id

Varchar

64

角色编号

 

 

 

 

 

 

 

 

 

 

表名称:sys_user 用户表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

用户编号

 

company_id

Varchar

64

归属公司

 

Office_id

varchar

64

归属部门

 

Login_name

Varchar

100

登录名

 

Password

varchar

100

密码

 

No

Varchar

100

工号

 

Name

Varchar

100

姓名

 

Email

Varchar

200

邮箱地址

 

 

 

Phone

Varchar

200

电话

 

 

Mobile

Varchar

200

手机

 

 

 

User_type

Char

1

用户类型

 

 

 

Login_ip

Varchar

100

最后登录IP

 

 

 

Login_date

Datetime

 

最后登录时间

 

 

 

Create_by

Varchar

64

创建者

 

 

 

Create_date

Datetime

 

创建时间

 

 

 

Update_by

Varchar

64

修改者

 

 

 

Update_date

Datetime

 

修改时间

 

 

 

Remarks

Varchar

255

备注信息

 

 

 

Delete_flag

Char

1

删除标记

 

 

 

 

表名称:sys_role角色表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

编号

 

Office_id

Varchar

64

归属机构

 

Name

varchar

100

角色名称

 

Data_scope

Char

1

数据范围

 

Create_by

varchar

64

创建者

 

Create_date

Datetime

 

创建时间

 

 

 

Update_by

Varchar

64

修改者

 

 

 

Update_time

Datetime

 

修改时间

 

 

 

Remarks

Varhcar

255

备注信息

 

 

 

Del_flag

Char

1

删除标记

 

 

 

 

表名称:sys_menue菜单表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

编号

 

Parent_id

Varchar

64

父级编号

 

Parent_ids

varchar

2000

所有父级编号

 

Name

Varchar

100

菜单名称

 

Href

varchar

255

连接

 

Target

Varchar

20

目标

 

 

 

Icon

Varchar

100

图标

 

 

 

Sort

Int

11

`排序(升序)

 

 

 

Id_show

Char

1

是否在菜单中显示

 

 

 

Is_activiti

Char

1

是否同步工作流

 

 

 

Permission

Varchar

200

权限标识

 

 

 

Create_by

Varchar

64

创建者

 

 

 

Update_by

Varchar

64

修改者

 

 

 

Update_time

Datetime

 

修改时间

 

 

 

Remarks

Varhcar

255

备注信息

 

 

 

Del_flag

Char

1

删除标记

 

 

 

 

表名称:sys_role_menue菜单角色关联表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Role_id

varchar

64

角色编号

 

Menu_id

Varchar

64

菜单编号

 

 

 

 

表名称:sys_office机构表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

编号

 

Parent_id

Varchar

64

父级编号

 

Parent_ids

varchar

2000

所有父级编号

 

Area_id

Varchar

64

归属区域

 

code

varchar

100

区域编码

 

Name

Varchar

100

机构名称

 

 

 

Type

Char

1

机构类型

 

 

 

Grade

Char

1

机构等级

 

 

 

Address

Varchar

255

联系地址

 

 

 

Zip_code

Varchar

100

邮政编码

 

 

 

Master

Varchar

100

负责人

 

 

 

Phone

Varchar

200

电话

 

 

 

Fax

Varchar

200

传真

 

 

 

Email

Varchar

200

邮箱

 

 

 

Create_by

Varchar

64

创建者

 

 

 

Update_by

Varchar

64

修改者

 

 

 

Update_time

Datetime

 

修改时间

 

 

 

Remarks

Varhcar

255

备注信息

 

 

 

Del_flag

Char

1

删除标记

 

 

 

 

 

表名称:sys_log访问日志

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

编号

 

Type

Char

1

日志类型

 

Create_date

Datetime

 

创建时间

 

Create_ by

Varchar

64

创建者

 

Remote_addr

Varchar

255

操作IP地址

 

 

 

User_agent

Varchar

255

用户代理

 

 

 

Request_uri

Varchar

255

请求URL

 

 

 

Method

Varchar

255

操作方式

 

 

 

Params

Text

 

操作提交的数据

 

 

 

Exception

Text

 

异常信息

 

 

 

 

 

表名称:sys_area区域表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

编号

 

Parent_id

Varchar

64

父级编号

 

Parent_ids

varchar

2000

所有父级编号

 

Code

Varchar

100

区域编码

 

Name

varchar

100

区域名称

 

Type

Char

1

区域类型

 

 

 

Create_by

Varchar

64

创建者

 

 

 

Update_by

Varchar

64

修改者

 

 

 

Update_time

Datetime

 

修改时间

 

 

 

Remarks

Varhcar

255

备注信息

 

 

 

Del_flag

Char

1

删除标记

 

 

 

 

 

 

 

 

 

 

表名称:sys_midc字典表

字段名称

数据类型

长度

描述

主键(是/否)

非空(是/否)

备注

Id

varchar

64

编号

 

Parent_id

Varchar

64

父级编号

 

Parent_ids

varchar

2000

所有父级编号

 

Name

Varchar

100

角色名称

 

Description

varchar

100

描述

 

Sort

Int

11

排序(升序)

 

 

 

Create_by

Varchar

64

创建者

 

 

 

Update_by

Varchar

64

修改者

 

 

 

Update_time

Datetime

 

修改时间

 

 

 

Remarks

Varhcar

255

备注信息

 

 

 

Del_flag

Char

1

删除标记