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

最近了解了基于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_java统一身份认证系统相关推荐

  1. oracle用户身份认证,oracle用户身份认证方式

    数据库身份认证 数据库身份认证比较好理解,就是数据库用户口令以加密的方式保存在数据库内部,当用户连接数据库时必须输入用户名和密码,通过数据库认证后才可以登录到数据库.例如,创建一个数据库认证的用户,语 ...

  2. 身份信息认证服务器,在线身份认证解决方案

    统一认证平台(金融一证通) 背景介绍 目前在线身份认证主要是通过银行卡.视频.语音或者第三方担保等手段确定用户的身份信息,但这些方法本身都存在安全缺陷,为用户身份造假提供了可趁之机,同时还存在系统建设 ...

  3. 网络安全之身份认证---双因子身份认证技术

    在一些对安全要求更高的应用环境,简单地使用口令认证是不够的,还需要使用其他硬件来完成,如U盾.网银交易就使用这种方式.在使用硬件加密和认证的应用中,通常使用双因子认证,即口令认证与硬件认证相结合来完成 ...

  4. Shiro01 功能点框图、架构图、身份认证逻辑、身份认证代码实现

    基本功能点 功能点框图 功能点说明 1.Authentication:身份认证/登录,验证用户是不是拥有相应的身份: 2.Authorization:授权,即权限验证,验证某个已认证的用户是否拥有某个 ...

  5. 前后端身份认证:session身份认证,JWT认证

    文章目录 前后端身份认证 1.概述 2.不同开发模式下的身份认证 3.关于HTTP协议的无状态性 4.Cookie 4.1 介绍 4.2 cookie特点 4.3 cookie分类 4.4 Cooki ...

  6. ldap认证 java_Java实现LDAP认证(上) | 学步园

    Baidu脑残,把原来的空间改得不伦不类.所以把一些技术的东西挪到这里. 我找到两种方法,大同小异,第一种是通过Spring,适合已经采用Spring的项目. 一般来说用户名和密码都是保存在数据库中. ...

  7. ldap 认证 java_Java实现LDAP认证(上)

    Baidu脑残,把原来的空间改得不伦不类.所以把一些技术的东西挪到这里. 我找到两种方法,大同小异,第一种是通过Spring,适合已经采用Spring的项目. 一般来说用户名和密码都是保存在数据库中. ...

  8. 统一身份认证系统的简单看法

    [事件背景]洋葱服务为什么没被成功接盘?_搜狐科技_搜狐网 https://www.sohu.com/a/124452755_354899 今天无意中看到这则新闻,发现人家洋葱认证服务已经停运1年多啦 ...

  9. 统一身份认证子系统详细设计与部分实现

    目  录 一.摘要----------------------------1 二.引言----------------------------1 三. 需求分析 (1)系统的功能要求--------- ...

  10. 【统一身份认证】——概念扫盲

    文章目录 一.为什么要有统一身份认证 二.什么是统一身份认证 三.统一身份认证的实现方案 一.为什么要有统一身份认证 随着企业业务系统的增多,每个系统都有一个用户名和密码,那么员工需要记住所有系统的用 ...

最新文章

  1. Java项目:茶叶售卖商城系统(java+SSM+JSP+EasyUi+mysql)
  2. idel 智能提示_intellij idea设置代码自动提示快捷键的详细方法.
  3. python函数的作用复用代码_Python-函数和代码复用
  4. Fatal error: Call to undefined function: mysql_connect() 的解决
  5. 特斯拉这款车被评为全球最好现代大马力汽车之一
  6. 数字城市杭州执法管理平台测试计划【软件测试与工程】
  7. 【专访】首届腾讯社交广告“高校算法大赛”落幕 冠亚季军团队参赛心得精彩分享
  8. extern 头文件 定义声明
  9. 判断网页是否是微信浏览器打开
  10. BPSK调制系统MATLAB仿真实现(1)
  11. vbs定时自动发送qq消息
  12. WPS广告弹窗永久关闭
  13. 百度2017春招笔试真题编程题集合--买帽子
  14. Word控件Spire.Doc 【邮件合并】教程(三):如何创建邮件合并和合并文本值
  15. SLAM中边缘化与一致性
  16. 灵飞经4 西城八部 第二十章 倒行逆施(五)
  17. HTL5 JavaScript里的DOM节点简单思维导图(元素节点,文本节点,节点的增删改查) 高清可打印
  18. 关于用LaTeX写英文论文
  19. php 关键词生成,DEDECMS实现文章tag关键词自动生成列表页的方法
  20. Layui.open 弹出上传图片、视频预览

热门文章

  1. h5混合开发框架初识
  2. MFC 控件清除内存
  3. python爬虫爬取视频
  4. python属于哪种类型_下列哪种类型是Python的列表类型?
  5. linux玩安卓游戏下载,在Deepin 20.2系统下可用Xdroid on Linux来玩王者荣耀游戏
  6. openmodelica安装
  7. 自定义控件属性英文类别
  8. input层级高 小程序_解决微信小程序input、textarea层级过高穿透问题
  9. java日期函数_java常用日期函数总结
  10. Python 功能函数round解析