6)对于不完整的方法进行补充,初期不合适的地方进行修改,完成后进行程序的测试,及时修改系统的bug。
2。4 功能模块初期设计
1)登录模块来说,为了防止多次输入暴力破解密码的恶意行为,应有验证码的验证,验证码我决定采用简易的并且被普遍使用的图片验证码,并且加入干扰点。为了提高系统的效率,我采取逐步验证的方式,验证失败即给与错误提示,成功则进行下一步验证,顺序为验证码-用户名-密码,首先验证验证码的正确性是因为验证码的验证不需要调用数据库,可以优化系统的性能。为了提高系统的稳定性以及优化系统,我预期在jsp页面中对于用户的输入进行一次非空验证,验证不通过则不进入action层。
2)部门管理,员工管理,账户管理,角色管理只具备增删改查的功能,但是在细节上的处理需要有所不同。比如部门和角色的删除时,要考虑到当部门下有员工的状况和角色下有账户的状况,在此设计为当部门下有员工时不允许删除并进行提醒,角色删除时一样。账户新增和修改的时候,要基于员工信息,非员工是无法创建账户的。
3)请假管理和报销管理。首先在进入界面的时候,会根据权限看到不同的信息,当登录人为普通用户时,只能看到自己的申请信息,人事专员和管理员则可以看到全部申请信息。申请信息分为草稿和已提交两种状态,已提交的申请无法修改。除了具备普通的增删改查功能,还具备审批和查看审批的功能。审批需要按部就班的进行,先部长审核,然后经理审核,接着人事归档,顺序不得打乱。查看审批时可以看到待审核人,和审批进行的状态。审批时候有三种决定,分别是通过,拒绝和驳回。来自优O尔P论R文T网WWw.YoueRw.com 加QQ7520`18766
4)密码重置提供了修改密码的功能,只需要验证原密码即可修改。我这边设定新旧密码不可一样。
5)系统退出就是清除session,退出登录状态,可以重新登录,很简单。
6)权限管理的基础数据从菜单表和角色表中获取,将角色与菜单绑定,以达到控制权限的效果。
3 程序详细设计
3。1 登录
1)功能实现
实现登录功能,查询出角色是否存在,验证密码和验证码是否正确。
实现权限管理,根据登录用户的不同角色对应的权限显示相应权限的菜单。
2)界面预览
登录界面如图3-1所示:
图 3-1 程序登录界面
本页面包含登录必填项:登录名,密码,验证码。可进行登录操作。
本页面包含提示(点击登陆时):
当用户名不存在时,弹窗:用户名不存在。
当密码不正确时,弹窗密码不正确。
当验证码错误时,弹窗:验证码不正确。
当未全部填写时,弹窗:请全部填写。
3)登陆流程图
用户在登录的时候,需要输入必填信息,当信息输入不完整,则会被js的验证阻止无法进入登录的方法,并给出提示。当js验证通过,可进入登录的方法,先验证验证码,然后验证用户是否存在,接着验证密码是否正确。当验证失败时,会给出的提示信息,当验证通过,则会根据用户的账户查询出用户的角色,然后调用权限表,根据角色查询出用户可以看到的菜单,然后展示对应。流程图如图3-2所示
图 3-2 登录流程图
4)重要代码
登录jsp中的ajax验证代码:
$("#btn")。click(function() {
var userName = $("#userName")。val();
var password = $("#password")。val();