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";

源码下载

原文地址:https://www.cnblogs.com/zxkxbz/p/11625213.html

时间: 2024-10-24 00:03:28

java统一身份认证系统的相关文章

基于DDD + SD.Framework实现的统一身份认证系统

项目地址 http://git.oschina.net/lishilei0523/ShSoft.UAC 项目说明 本项目开发的目的有三: 1.作为一个使用SD.Framework框架开发的项目样板 2.探索基于ASP.NET MVC的前端架构 3.做一套统一身份认证系统 注意事项: 如果编译失败,请安装PostSharp-4.1.15.exe(项目根目录下或附件中有) 请先修改服务端AppService项目配置文件中连接字符串,数据库会自动生成 先运行服务端,再运行客户端 如果服务端运行失败,请

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

什么是单点登录 简单点说就是公司有A,B两个系统,我登录了A系统之后再跳转到B系统可以直接访问,而不需要再次登录B系统. 几种常见的单点登录实现方式 在讲解单点登录之前先讲解几个基本的概念: Cookie: Cookie是一段不超过4KB的小型文本数据,是保存在用户本地的,常见格式为: Expires属性:设置Cookie的生存期 Domain属性:指定了可以访问该 Cookie 的 Web 站点或域 比如图中的Domain:192.168.1.72这就表示只能只有1.72下的请求可以使用这个c

[转]统一身份认证(CAS)简单说明与设计方案

统一身份认证(CAS)简单说明与设计方案(转) 1. 单点登录概述 所谓单点登录(SSO),只当企业用户同时访问多个不同(类型的)应用时,他们只需要提供自身的用户凭证信息(比如用户名/密码)一次,仅仅一次.SSO解决方案(比如,CAS)负责统一认证用户,如果需要,SSO也可以完成用户的授权处理.可以看出,当企业用户在不同的应用间切换时,他们不用再重复地输入自身的用户凭证了.在实施SSO后,所用的认证操作都将交给SSO认证中心.现有的SSO解决方案非常多,比如微软的MSN Passport便是典型

统一身份认证和单点登录概念研究

在研究.建设单位信息系统的集成和登录时,自然想到了统一身份认证和单点登录,首先遇到了这样的问题,统一身份认证和单点登录的概念是什么,是不是某一个领域的术语,是不是有相应的标准和协议以及相关的解决方案,这让我对这两个经常关在嘴边的.耳熟能详的名称的来源产生了好奇.先从百度百科中可以查到统一身份认证的定义:所谓身份认证,就是判断一个用户是否为合法用户的处理过程.最常用的简单身份认证方式是系统通过核对用户输入的用户名和口令,看其是否与系统中存储的该用户的用户名和口令一致,来判断用户身份是否正确.复杂一

身份认证系统(一)单WEB应用的身份认证

身份认证技术,也就是所谓的登录功能,是现代WEB系统最常见的功能之一.本系列文章就试图为大家详细的介绍身份认证技术. Basic认证模式 Basic认证模式是较早被广泛应用的一种HTTP标准提供的认证模式.最常见的形式之一就是在url中直接写上用户名密码向服务器提供身份: http://user:[email protected]/index.html 在Basic模式之中,每次向服务器请求受保护资源的时候都要在url中带上明文或仅被Base64编码过的用户名密码.而且在这种模式下,如果我们要实

身份认证系统 OAuth2的四种模式

OAuth2标准为了应对不同的场景,设计了四种不同的标准模式. 1.授权码模式 授权码模式是四种模式中最繁琐也是最安全的一种模式. client向资源服务器请求资源,被重定向到授权服务器(AuthorizationServer) 浏览器向资源拥有者索要授权,之后将用户授权发送给授权服务器 授权服务器将授权码(AuthorizationCode)转经浏览器发送给client client拿着授权码向授权服务器索要访问令牌 授权服务器返回Access     Token和Refresh Token给

身份认证系统(三)什么是OAuth2

本文准备用最简单的语言告诉大家什么是OAuth2 ,OAuth2是干什么的. 我们有一个资源服务器,资源服务器中有一系列的用户数据. 现在有一个应用想想要获取我们的用户数据.那么最简单的方法就是我们开发一个API.可是某天来了个恶意应用,或者是我们不想给它数据的应用,我们就会造成数据的泄漏.所以我们就需要对第三方的应用进行校验,比如最原始的方法是使用IP地址,如果是不认识的IP地址就不给他资源.可是这种方案有两个严重的缺点: 1.当客户应用换了IP地址之后,我们也要同时维护更换IP地址. 2.当

身份认证系统(四)OAuth2运行流程

上一节介绍过什么是OAuth2,这节准备用生动的事例来告诉大家OAuth2运行的流程. 我们来想这样一个场景:假设我们有一个叫做万方网盘的服务是用来帮助用户存储论文文档的,我们向外提供了符合OAuth2标准的APi,可以让第三方程序获取到用户的论文.有一个第三方的程序可以调用我们平台的接口获取用户论文,来帮助用户投稿. 在OAuth中,我们管用户叫做资源拥有者(Resource Owner,RO),投稿应用叫做Client,万方网盘叫做资源服务(Resource Server,RS),昨天我们还

哈希表 之 接入与身份认证技术概述

1 概述 随着信息化的高速发展,对国家.组织.公司或个人来说至关重要的信息越来越多的通过网络来进行存储.传输和处理,为获取这些关键信息的各种网络犯罪也对应急剧上升. 当前,网络安全在某种意义上已经成为一个事关国家安全.社会经济稳定的重大问题.得到越来越多的重视. 在网络安全中.身份认证技术作为第一道,甚至是最重要的一道防线.有着重要地位,可靠的身份认证技术能够确保信息仅仅被正确的"人"所訪问.身份认证技术提供了关于某个人或某个事物身份的保证.这意味着当某人(或某事)声称具有一个特别的身