java统一身份认证系统

Posted zxkxbz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java统一身份认证系统相关的知识,希望对你有一定的参考价值。

每天记录学习,每天会有好心情。*^_^*

最近了解了基于java的统一身份认证系统项目,在这个平台记录一下这个基于java的统一身份认证系统项目,方便以后再次使用或学习的时候能够及时的翻阅。在完成基于java的统一身份认证系统项目的时候,考虑了很多框架。最终决定选用SSM(MYECLIPSE),该框架具有极强的移植性,多平台性,便于操作性等优点。此框架能在MYECLIPSE开发工具中完美的编写和运行,基于java的统一身份认证系统为一个 后台项目。本文主要针对媒体传播类网站中数据的安全级别采用动画验证码,用户密钥分级身份认证方法,认定用户身份,保障网站的安全。采用当前非常流行的B/S体系结构,以java作为开发技术,主要依赖SSM技术框架,mysql数据库建立本系统。
在对基于java的统一身份认证系统项目进行需求分析的时候,得出系统的登录角色包括了管理员、用户注册。对应用户可以通过登录自己的账号,进行入系统。系统对不同角色拥有不同权限。

总结得出基于java的统一身份认证系统项目所有数据为:管理员(admin)、认证方法(renzhengfangfa)、用户注册(yonghuzhuce)

基于java的统一身份认证系统之管理员表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 管理员id
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

 

基于java的统一身份认证系统之认证方法表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 认证方法id
donghuayanzhengma | VARCHAR(255) | | 动画验证码
duanxinyanzhengma | VARCHAR(255) | | 短信验证码
youxiangyanzhengma | VARCHAR(255) | | 邮箱验证码
miyaoyanzhengfangshi | VARCHAR(255) | | 密钥验证方式

 

基于java的统一身份认证系统之用户注册表

字段名 | 类型 | 属性 | 描述
id | INT(11) | PRIMARY KEY | 用户注册id
xingming | VARCHAR(255) | | 姓名
nianling | VARCHAR(255) | | 年龄
xingbie | VARCHAR(255) | | 性别
username | VARCHAR(255) | | 账号
password | VARCHAR(255) | | 密码

 

 

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------

-- ----------------------------

-- Table structure for ggjyjavadtysfrzxt

-- ----------------------------

DROP TABLE IF EXISTS `t_admin`;

CREATE TABLE `t_admin` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 管理员id,`username` VARCHAR(255) DEFAULT NULL COMMENT 账号,`password` VARCHAR(255) DEFAULT NULL COMMENT 密码,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=管理员;

-- ----------------------------

DROP TABLE IF EXISTS `t_renzhengfangfa`;

CREATE TABLE `t_renzhengfangfa` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 认证方法id,`donghuayanzhengma` VARCHAR(255) DEFAULT NULL COMMENT 动画验证码,`duanxinyanzhengma` VARCHAR(255) DEFAULT NULL COMMENT 短信验证码,`youxiangyanzhengma` VARCHAR(255) DEFAULT NULL COMMENT 邮箱验证码,`miyaoyanzhengfangshi` VARCHAR(255) DEFAULT NULL COMMENT 密钥验证方式,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=认证方法;

-- ----------------------------

DROP TABLE IF EXISTS `t_yonghuzhuce`;

CREATE TABLE `t_yonghuzhuce` (`id` INT(11) NOT NULL AUTO_INCREMENT COMMENT 用户注册id,`xingming` VARCHAR(255) DEFAULT NULL COMMENT 姓名,`nianling` VARCHAR(255) DEFAULT NULL COMMENT 年龄,`xingbie` VARCHAR(255) DEFAULT NULL COMMENT 性别,`username` VARCHAR(255) DEFAULT NULL COMMENT 账号,`password` VARCHAR(255) DEFAULT NULL COMMENT 密码,PRIMARY KEY (`id`)

) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT=用户注册;

 

 

添加认证方法模块:

在renzhengfangfaController中定义tianjiarenzhengfangfaact接收页面传入的认证方法参数,定义为renzhengfangfa。其中renzhengfangfa包含字段:动画验证码,短信验证码,邮箱验证码,密钥验证方式,使用tianjiarenzhengfangfaact将该认证方法对象存入数据库中,在renzhengfangfaMapper中定义了insert方法,匹配数据库中的insert into renzhengfangfa语句实现将认证方法数据存入数据库的操作。该部分核心代码如下:

通过renzhengfangfadao的insert方法将页面传输的认证方法添加到数据库中 renzhengfangfadao.insert(renzhengfangfa);

将添加认证方法成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "添加认证方法成功");

返回认证方法管理界面

return "forward:/tianjiarenzhengfangfa.action";

查询认证方法模块:

在浏览器中进入认证方法查询页面时,此时浏览器的地址栏为renzhengfangfaguanli.action,该地址将响应renzhengfangfaController类中的renzhengfangfaguanli,在该方法中,通过selectByexample方法获取所有的认证方法信息,并将该信息保存到request中,在页面进行循环展示。该部分核心代码如下:

生成认证方法样例类,通过example定义查询条件 RenzhengfangfaExample example = new RenzhengfangfaExample();

通过renzhengfangfadao的selectByExample方法查询出所有的认证方法信息 List renzhengfangfaall = renzhengfangfadao.selectByExample(example);

将认证方法信息,保存到request中,在页面通过foreach方法进行展示 request.setAttribute("renzhengfangfaall", renzhengfangfaall);

返回认证方法管理界面

return "forward:/renzhengfangfaguanli.action";

修改认证方法模块:

对已经上传的认证方法信息可以进行修改操作,该部分操作在认证方法管理界面中点击修改按钮可以跳转到认证方法修改页面。在修改页面中,将初始化所有的认证方法字段信息,字段信息包括动画验证码,短信验证码,邮箱验证码,密钥验证方式。字段信息内容通过认证方法id获取。修改后的信息传入到renzhengfangfaController中接收为renzhengfangfa。在renzhengfangfaController中包含有提前定义好的renzhengfangfadao,该参数为renzhengfangfaMapper是实现。renzhengfangfaMapper中定义了修改方法,此处使用修改方法为updateByPrimaryKeySelective,该方法可以将修改后信息同步到数据库中,最终将修改成功信息返回页面中。该部分代码如下:

通过renzhengfangfadao的修改方法根据id修改对应的认证方法 renzhengfangfadao.updateByPrimaryKeySelective(renzhengfangfa);

将修改认证方法成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "修改认证方法信息成功");

返回认证方法管理界面

return "forward:/renzhengfangfaguanli.action";

删除认证方法模块:

在页面中通过a标签,shanchurenzhengfangfa?id=将id传入到后台中,通过shanchurenzhengfangfa接收认证方法id。使用deleteByid的方法

删除该认证方法,完成删除操作。定义删除成功提示信息,删除认证方法成功,并保存到request中,该部分代码如下:

通过renzhengfangfadao的删除方法根据id删除对应的认证方法 renzhengfangfadao.deleteByPrimaryKey(id);

将删除认证方法成功信息,保存到request的message中,在页面中给出用户提示 request.setAttribute("message", "删除认证方法成功");

返回认证方法管理界面

return "forward:/renzhengfangfaguanli.action";

 

源码下载

以上是关于java统一身份认证系统的主要内容,如果未能解决你的问题,请参考以下文章

Oracle的操作系统身份认证

SSO统一身份认证——CAS Client客户端创建(九)

LDAP统一账户认证系统的密码自助修改

统一认证系统

统一认证系统

SSO单点登录统一身份认证系统