用户权限设计(二)——用户认证管理设计方案
用户权限管理设计方案

用户权限管理设计方案用户认证管理设计方案1 设计思路为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。
1。
1 用户用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。
用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。
用户通常具有以下属性:✓编号,在系统中唯一.✓名称,在系统中唯一。
✓用户口令。
✓注释,描述用户或角色的信息.1.2 角色角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性:✓编号,在系统中唯一。
✓名称,在系统中唯一.✓注释,描述角色信息1.3 权限权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:✓编号,在系统中唯一。
✓名称,在系统中唯一。
✓注释,描述权限信息1.4 用户与角色的关系一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。
用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如●用户(User):UserID UserName UserPwd1 张三xxxxxx2 李四xxxxxx……●角色(Role):RoleID RoleName RoleNote01 系统管理员监控系统维护管理员02 监控人员在线监控人员03 调度人员调度工作人员04 一般工作人员工作人员……●用户角色(User_Role):UserRoleID UserID RoleID UserRoleNote1 1 01 用户“张三”被分配到角色“系统管理员”2 2 02 用户“李四"被分配到角色“监控人员"3 2 03 用户“李四”被分配到角色“调度人员”……从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。
最新软件开发项目设计方案模板(全)

软件开发项目设计方案一、项目的需求分析与可行性分析(-1网站开发背景与需求分析在〃构建完美门户网站"的大主旋律下,都市圈圈网站为给网友提供更好的交友平台,更完美婚恋场所。
如何使网站更现代化,思维更灵活化,需求最新化?这就成为当前领导决策层最需解决问题,交友网和婚恋网能够让网友通过沟通网友之间的情感,促进网友之间的和谐发展,使网站更具现代话特色。
(二L项目建设的可行性分析1、随着计算机技术和网络技术的发展,特别是门户网站联网的建成,在网络的承载能力、安全性、可靠性以及服务质量保证等方面都得到了极大的提高,达到了较高的水准,能够满足目前及今后一段时间内网友之间情感发展的需要;2、绝大多数网友对交友及婚恋网站的依恋程度已大大超过了现实之中朋友的交往。
3、广大网友对情感交流的重视程度越来越高。
基于以上几点,利用先进的计算机和网络技术,开发交友网站和婚恋网及管理系统,对现行门户网站已成为必要和可能。
二、系统的设计目标和原则为加大对网友之间情感交流的深度,根据都市圈圈的业务需求,本网站系统设计开发的目的是向广大用户展示出完美的沟通平台。
基于上述目标”系统在设计时应遵循以下原则:IS合法性原则不利用网站违法操作。
2、安全性原则系统运行具有较高的稳定性,确保数据收集的安全、可靠与保密。
(1)、网站内在网友可以凭借都市圈圈红娘的身份登录本系统,谢绝外来人员的参观和调阅。
(2)、系统的所有程序文件不允许从外部链接地址访问,必须登录后,方可出现相应的管理界面。
3、先进性原则系统的开发工具、设计方法、运行模式等充分利用当今计算机信息的先进技术,充分利用现有的网络、设备,最大限度地保护现有的投资。
4、灵活性原则系统应充分考虑到业务不断变化的需要,对用户权限和栏目等参数能进行自定义设置,并可随时调整。
5、扩展T生原则系统设计应充分考虑门户网站和交友平台计算机发展的需要,便于系统的扩充,并提供与其他业务系统的应用连接和数据接口。
统一用户及权限管理系统概要设计说明书范文

统一用户及权限管理系统概要设计说明书统一用户及权限管理系统概要设计说明书执笔人:K1273-5班涂瑞1.引言1.1编写目的在推进和发展电子政务建设的进程中,需要经过统一规划和设计,开发建设一套统一的授权管理和用户统一的身份管理及单点认证支撑平台。
利用此支撑平台能够实现用户一次登录、网内通用,避免多次登录到多个应用的情况。
另外,能够对区域内各信息应用系统的权限分配和权限变更进行有效的统一化管理,实现多层次统一授权,审计各种权限的使用情况,防止信息共享后的权限滥用,规范今后的应用系统的建设。
本文档旨在依据此构想为开发人员提出一个设计理念,解决在电子政务整合中遇到的一些问题。
1.2项目背景随着信息化建设的推进,各区县的信息化水平正在不断提升。
截至当前,在各区县的信息化环境中已经建设了众多的应用系统并投入日常的办公使用,这些应用系统已经成为电子政务的重要组成部分。
各区县的信息体系中的现存应用系统是由不同的开发商在不同的时期采用不同的技术建设的,如:邮件系统、政府内部办公系统、公文管理系统、呼叫系统、GIS系统等。
这些应用系统中,大多数都有自成一体的用户管理、授权及认证系统,同一用户在进入不同的应用系统时都需要使用属于该系统的不同账号去访问不同的应用系统,这种操作方式不但为用户的使用带来许多不便,更重要的是降低了电子政务体系的可管理性和安全性。
与此同时,各区县正在不断建设新的应用系统,以进一步提高信息化的程度和电子政务的水平。
这些新建的应用系统也存在用户认证、管理和授权的问题。
1.3定义1.3.1 专门术语数据字典:对数据的数据项、数据结构、数据流、数据存储、处理逻辑、外部实体等进行定义和描述,其目的是对数据流程图中的各个元素做出详细的说明。
数据流图:从数据传递和加工角度,以图形方式来表示系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表示工具及用于表示软件模型的一种图示方法。
昆山智慧资产管理系统设计方案 (2)

昆山智慧资产管理系统设计方案昆山智慧资产管理系统是为了提高资产管理的效率和精度,打造智慧城市的一项重要举措。
以下是昆山智慧资产管理系统设计方案的详细说明:一、系统架构设计1.前端设计:采用响应式设计,兼容不同设备和平台,用户界面友好直观,便于操作和管理。
2.后端设计:采用分布式架构,实现高可用性和高性能,确保系统的稳定运行和快速响应。
二、功能模块设计1.资产信息管理模块:包括资产基本信息、资产位置、资产价值等信息的管理。
管理员可以录入、查询和编辑资产信息,实现对资产的综合管理。
2.巡查管理模块:包括巡查任务的分配和执行情况的录入。
管理员可以根据资产的位置和巡查要求,进行巡查任务的分配,并及时查看巡查情况和处理异常。
3.维修管理模块:包括维修申报、维修处理和维修记录的管理。
用户可以通过系统提交维修申请,维修人员可以根据维修优先级进行处理,并记录维修过程和结果。
4.报废管理模块:包括资产报废的申请和审批。
用户可以提交资产报废申请,管理员可以审批并记录资产报废情况。
5.统计分析模块:根据资产的各项指标,进行统计和分析,生成相关报表,帮助决策者了解资产状况和做出合理决策。
三、技术实现方案1.前端技术选择:-采用HTML5、CSS3、JavaScript等技术实现页面的布局和效果。
-使用AJAX技术实现与后端的数据交互。
-使用Bootstrap等前端框架提供快捷的界面开发和用户体验。
2.后端技术选择:-采用Java语言作为主要开发语言,使用SpringMVC 框架实现MVC的模式。
-使用MyBatis框架实现对数据库的访问和操作。
-使用Dubbo框架实现分布式服务,提高系统的性能和可扩展性。
-使用Redis缓存提高系统读写的效率。
-使用RabbitMQ实现消息队列,解耦系统的各个模块。
-使用Nginx进行反向代理和负载均衡,提高系统的稳定性和性能。
3.数据库设计:-采用MySQL数据库存储系统的数据。
-根据系统的需求进行数据表的设计和优化,提高数据库的性能和可靠性。
财务管理系统设计方案

财务管理系统设计方案引言随着企业规模的扩大和管理的复杂化,财务管理在企业运营中的地位越来越重要。
为了提高财务管理的效率和准确性,本文将介绍一种财务管理系统设计方案,该方案旨在为企业提供更加便捷、高效和可靠的财务管理解决方案。
需求分析在设计财务管理系统之前,需要明确系统的需求。
根据对企业财务管理流程的了解,本文将重点考虑以下需求:1、实现资金管理功能,包括账户管理、存款管理、贷款管理、支付管理、收款管理等功能;2、实现预算管理功能,包括预算编制、预算审批、预算执行和预算分析等功能;3、实现财务报表编制和数据分析功能,包括资产负债表、损益表、现金流量表等财务报表的编制以及数据分析功能;4、实现财务分析功能,包括财务指标分析、财务状况评估、风险评估等功能;5、实现系统管理和用户权限管理功能,包括用户管理、权限管理、系统设置等功能。
系统设计根据需求分析,本文将采用模块化设计方法,将系统划分为以下几个模块:1、资金管理模块,包括账户管理、存款管理、贷款管理、支付管理、收款管理等功能;2、预算管理模块,包括预算编制、预算审批、预算执行和预算分析等功能;3、财务报表编制和数据分析模块,包括资产负债表、损益表、现金流量表等财务报表的编制以及数据分析功能;4、财务分析模块,包括财务指标分析、财务状况评估、风险评估等功能;5、系统管理和用户权限管理模块,包括用户管理、权限管理、系统设置等功能。
数据库设计在系统设计中,数据库设计是至关重要的一环。
本文将采用关系型数据库管理系统,如MySQL或Oracle等,设计出适合财务管理系统的数据库结构。
具体设计如下:1、数据库表设计,包括资金管理表、预算管理表、财务报表表、财务指标表、用户表等;2、数据库表关系设计,包括资金管理表与其他表的关系、预算管理表与其他表的关系等;3、数据库安全性设计,包括用户认证、权限控制、数据备份等。
界面设计界面设计是提高用户使用体验的关键因素之一。
智慧作业班级管理系统设计方案 (2)

智慧作业班级管理系统设计方案智慧作业班级管理系统设计方案:一、系统概述智慧作业班级管理系统是一款用于学校和班级管理的系统,旨在提高班级管理的效率和便利性。
系统功能包括学生信息管理、作业发布与批改、课程管理等。
二、系统功能设计1. 学生信息管理:管理员可以录入、编辑和删除学生信息,包括姓名、性别、年级、班级等信息。
2. 教师管理:管理员可以录入、编辑和删除教师信息,包括姓名、性别、教龄、科目等信息。
3. 课程管理:管理员可以录入、编辑和删除课程信息,包括课程名称、课程时间等信息。
4. 作业发布与批改:教师可以发布作业,并设置作业截止时间。
学生可以查看作业,并在截止时间前提交作业。
教师可以对学生提交的作业进行批改,给予评分和评语。
5. 成绩管理:系统自动计算学生的作业和考试成绩,并进行排名和统计分析。
教师可以查看学生的成绩,学生可以查看自己的成绩。
6. 班级管理:管理员可以创建班级,并将学生和教师分配到不同的班级中。
7. 通知公告:管理员可以发布通知和公告,包括活动通知、会议通知等。
学生和教师可以查看和回复通知。
8. 登录与权限管理:系统设有管理员、教师和学生三种角色,每个角色有不同的权限。
管理员拥有最高权限,可以管理系统的所有功能;教师可以管理班级和作业等功能;学生只能查看和提交作业等功能。
三、系统架构设计1. 前端设计:采用响应式设计,适配不同设备和屏幕尺寸。
使用HTML、CSS和JavaScript进行页面设计和交互。
2. 后端设计:采用MVC架构,使用Java或Python 等语言开发。
使用Spring框架进行开发,实现前后端分离、模块化设计。
3. 数据库设计:使用关系型数据库存储学生、教师、班级、课程、作业和成绩等数据。
设计表结构和关联关系,优化查询性能。
4. 接口设计:提供RESTful接口,实现前后端的数据交互。
使用JSON格式进行数据传输。
四、系统安全设计1. 用户认证:使用用户名和密码进行登录认证,保证系统只有授权用户才能使用。
教务管理系统概要设计说明书

教务管理系统概要设计说明书教务管理系统概要设计说明书一、引言随着教育行业的不断发展,教务管理工作面临着越来越多的挑战和需求。
为了提高教务管理效率和质量,本文将介绍一款教务管理系统,并对其概要设计进行说明。
该系统旨在为用户提供便捷、可靠的教育教学管理解决方案,为教育机构实现信息化、智能化管理提供有力支持。
二、需求分析在设计教务管理系统之前,我们需要充分了解用户需求。
通过对各类教育机构的实际调研和分析,我们总结出以下核心需求:学生信息管理、课程管理、成绩管理、教师管理、教务通知等。
为实现这些功能,系统应具备以下特点:易用性、可扩展性、安全性、数据完整性、用户友好性等。
三、系统架构设计基于需求分析,我们设计出了一套符合用户需求的教务管理系统架构。
该架构采用分层设计思想,将系统划分为表示层、业务逻辑层和数据访问层。
在技术实现上,我们采用主流的Web开发框架和数据库技术,确保系统的稳定性和性能。
表示层是用户与系统交互的界面,负责接收用户输入和展示系统输出。
该层采用响应式网页设计,适应不同设备的浏览需求。
业务逻辑层负责处理用户请求,实现业务逻辑。
数据访问层负责与数据库进行交互,提供数据操作接口。
四、数据模型设计为了实现数据的有效存储和操作,我们对系统进行了详细的数据模型设计。
根据需求分析,我们定义了以下核心数据模型:学生信息表、课程表、成绩表、教师信息表、教务通知表等。
这些数据模型之间的关系通过外键进行关联,形成一个完整的数据模型体系。
五、界面设计界面设计是用户体验的关键因素。
在教务管理系统的界面设计中,我们采用了简洁明了的风格,以降低用户的学习成本。
界面布局按照功能模块进行划分,使得操作流程更加清晰。
同时,我们采用了丰富的交互效果和友好的提示信息,提高用户的使用体验。
六、测试与维护为了确保教务管理系统的稳定性和可靠性,我们将进行全面的测试和持续的维护。
测试方案包括单元测试、集成测试和系统测试,覆盖所有功能模块和业务流程。
基于数字证书的通用权限管理的设计与实现

模型来构建信息管理系统 的用户权限管理模块 ,通过
对用户表 、角色表、角色权限分 配表 、用户角色关联 表进行合理的设置 ,再加上应 用程序 的控 制 ,可以完 成 多用户、多级别的权限管理【。 6 】 1 3基 于 P I . K 的数字证 书认证模式
P l u l e fa tu t r) K( bi k yi rsr cu e ,即” p c n 公钥基础设
证 ,用户管理 , 角色管理 ,资源管理 ,角色权限管理 , 用户授 权等模块 。基于数字证 书的权限管理也同样包 含上述模块 ,但与传统权限 管理 系统相 比还是有 比较 大 的区别 , 特别是在用户身份认证 、用户管理等模块 ,
具体如下 : 图 1 RA B C模 型【 s 】
关键词 : 数 字证 书: 限控制: 权 角色: 认证 : 身份 通用性
De i n nd I p e e a i n o v r a r iso a g m e s d o g t l r i c t sg a m l m nt to fUni e s l Pe m s i n M na e nt Ba e n Di ia Ce tf a e i
联起来 ,通过给用户分配合适 的角色 ,每个角色再分
配相应 的权 限 , 这样角色就把 用户与权限联 系起来 了 ,
并且大大减 少 了权限分配时 的工作量 ,增加 了授权 的 灵活性。在 R A B C模 型中 ,角色是其核心 ,系统根据 管理 中相对稳定 的职权和责任来划分角色 ,每种角色 可 以完成一定 的职 能。用户通过饰 演不 同的角色获得 角色所拥有的权限 , 一旦某 个用户成为某角色的成员 ,
户签名来判断用户是否合法。 () 用户的管理 , 统认证 模式的权限管理 系 2对于 传 统 ,用户注册 时只 需提 交基本信息 ,系统验证 用户信 息格 式即可 。而在基于数字证 书的权限管理系统 中,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户认证管理设计方案1 设计思路为了设计一套具有较强可扩展性的用户认证管理,需要建立用户、角色和权限等数据库表,并且建立之间的关系,具体实现如下。
1.1 用户用户仅仅是纯粹的用户,用来记录用户相关信息,如用户名、密码等,权限是被分离出去了的。
用户(User)要拥有对某种资源的权限,必须通过角色(Role)去关联。
用户通常具有以下属性:ü编号,在系统中唯一。
ü名称,在系统中唯一。
ü用户口令。
ü注释,描述用户或角色的信息。
1.2 角色角色是使用权限的基本单位,拥有一定数量的权限,通过角色赋予用户权限,通常具有以下属性:ü编号,在系统中唯一。
ü名称,在系统中唯一。
ü注释,描述角色信息1.3 权限权限指用户根据角色获得对程序某些功能的操作,例如对文件的读、写、修改和删除功能,通常具有以下属性:ü编号,在系统中唯一。
ü名称,在系统中唯一。
ü注释,描述权限信息1.4 用户与角色的关系一个用户(User)可以隶属于多个角色(Role),一个角色组也可拥有多个用户,用户角色就是用来描述他们之间隶属关系的对象。
用户(User)通过角色(Role)关联所拥有对某种资源的权限,例如l用户(User):UserID UserName UserPwd1 张三xxxxxx2 李四xxxxxx……l 角色(Role):RoleID RoleName RoleNote01 系统管理员监控系统维护管理员02 监控人员在线监控人员03 调度人员调度工作人员04 一般工作人员工作人员……l 用户角色(User_Role):UserRoleID UserID RoleID UserRoleNote1 1 01 用户“张三”被分配到角色“系统管理员”2 2 02 用户“李四”被分配到角色“监控人员”3 2 03 用户“李四”被分配到角色“调度人员”……从该关系表可以看出,用户所拥有的特定资源可以通过用户角色来关联。
1.5 权限与角色的关系一个角色(Role)可以拥有多个权限(Permission),同样一个权限可分配给多个角色。
例如:l 角色(Role):RoleID RoleName RoleNote01 系统管理员监控系统维护管理员02 监控人员在线监控人员03 调度人员调度工作人员04 一般工作人员工作人员……l 权限(Permission):PermissionID PermissionName PermissionNote0001 增加监控允许增加监控对象0002 修改监控允许修改监控对象0003 删除监控允许删除监控对象0004 察看监控信息允许察看监控对象……l 角色权限(Role_Permission):RolePermissionID RoleID PermissionID RolePermissionNote1 01 0001 角色“系统管理员”具有权限“增加监控”2 01 0002 角色“系统管理员”具有权限“修改监控”3 01 0003 角色“系统管理员”具有权限“删除监控”4 01 0004 角色“系统管理员”具有权限“察看监控”5 02 0001 角色“监控人员”具有权限“增加监控”6 02 0004 角色“监控人员”具有权限“察看监控”……由以上例子中的角色权限关系可以看出,角色权限可以建立角色和权限之间的对应关系。
1.6 建立用户权限用户权限系统的核心由以下三部分构成:创造权限、分配权限和使用权限。
第一步由Creator创造权限(Permission),Creator在设计和实现系统时会划分。
利用存储过程CreatePermissionInfo(@PermissionName,@PermissionNote)创建权限信息,指定系统模块具有哪些权限。
第二步由系统管理员(Administrator)创建用户和角色,并且指定用户角色(User-Role)和角色权限(Role-Permission)的关联关系。
1) 具有创建用户、修改用户和删除用户的功能:Administratorl 存储过程CreateUserInfo(@UserName,@UserPwd)创建用户信息;l 存储过程ModifyUserInfo(@UserName,@UserPwd)修改用户信息;l 存储过程DeleteUserInfo(@UserID)删除用户信息;2) 具有创建角色和删除角色的功能:Administratorl 存储过程CreateRoleInfo(@RoleName,@RoleNote)创建角色信息;l 存储过程DeleteRoleInfo(@RoleID)删除角色信息;3)Administrator具有建立用户和角色、角色和权限的关联关系功能:l 存储过程GrantUserRole(@UserID,@RoleID,@UserRoleNote)建立用户和角色的关联关系;l 存储过程DeleteUserRole(@UserRoleID)删除用户和角色的关联关系;l 存储过程GrantRolePermission(@RoleID,@PermissionID,@RolePermissionNote)建立角色和权限的关联关系;l 存储过程DeleteRolePermission(@RolePermissionID)删除角色和权限的关联关系;第三步用户(User)使用Administrator分配给的权限去使用各个系统模块。
利用存储过程GetUserRole(@UserID, @UserRoleID output),GetRolePermission(@RoleID,@Role--PermissinID output)获得用户对模块的使用权限。
1.7 用户认证实现当用户通过验证后,由系统自动生成一个128位的TicketID保存到用户数据库表中,建立存储过程Login(@UserID,@UserPwd,@TicketID output)进行用户认证,认证通过得到一个TicketID,否则TicketID为null。
其流程图如下:图1 Login流程图得到TicketID后,客户端在调用服务端方法时传递TicketID,通过存储过程JudgeTicketPermission(@TicketID,@PermissionID)判断TicketID对应的用户所具有的权限,并根据其权限进行方法调用。
当用户退出系统时,建立存储过程Logout(@UserID)来退出系统。
当用户异常退出系统时,根据最后的登陆时间(LastSignTime)确定用户的TickeID,建立存储过程ExceptionLogout (@UserID,@LastSignTime)处理用户的异常退出。
图2 Logout流程图WebService可以采用SoapHeader中写入TicketID来使得TicketID从客户端传递给服务端。
.Net Remoting可以采用CallContext类来实现TicketID从客户端传递给服务端。
2 数据库设计2.1 数据库表图3 数据库关系图2.2 数据库表说明2.2.1 用户表(Static_User)Static_UserStatic_User字段名详细解释类型备注UserID 路线编号varchar(20) PKUserName 用户名称varchar(20)UserPwd 用户密码varchar(20)LastSignTime 最后登陆时间datatimeSignState 用户登陆状态标记intTickeID 验证票记录编号varchar(128)2.2.2 角色表(Static_Role)Static_RoleStatic_User字段名详细解释类型备注RoleID 角色编号varchar(20) PKRoleName 角色名称varchar(20)RoleNote 角色信息描述varchar(20)2.2.3 用户-角色表(Static_User_Role)Static_User_RoleStatic_User字段名详细解释类型备注UserRoleID 用户角色编号varchar(20) PKUserID 用户编号varchar(20) PKRoleID 角色编号varchar(20) PKUserRoleNote 用户角色信息描述varchar(20)2.2.4 权限表(Static_Permission)Static_PermissionStatic_User字段名详细解释类型备注PermissionID 编号varchar(20) PK PermissionName 权限名称varchar(20)PermissionNote 全息信息描述varchar(20)2.2.5 角色-权限表(Static_Role_Permission)Static_Role_PermissionStatic_User字段名详细解释类型备注RolePermissionID 角色权限编号varchar(20) PKRoleID 角色编号varchar(20) PKPermissionID 权限编号varchar(20) PK RolePermissionNote 角色权限信息描述3 .net技术概要3.1 WebService SoapHeader对SQL 数据库执行自定义身份验证和授权。
在这种情况中,应向服务传递自定义凭据(如用户名和密码),并让服务自己处理身份验证和授权。
将额外的信息连同请求一起传递给XML Web 服务的简便方法是通过SOAP 标头。
为此,需要在服务中定义一个从SOAPHeader 派生的类,然后将服务的公共字段声明为该类型。
这在服务的公共合同中公开,并且当从WebServiceUtil.exe 创建代理时可由客户端使用,如下例所示:using System.Web.Services;using System.Web.Services.Protocols;// AuthHeader class extends from SoapHeaderpublic class AuthHeader : SoapHeader {public string Username;public string Password;}public class HeaderService : WebService {public AuthHeader sHeader;...}服务中的每个WebMethod 都可以使用SoapHeader 自定义属性定义一组关联的标头。
默认情况下,标头是必需的,但也可以定义可选标头。