关键名词的介绍:
java:一种计算机编程语言,和c、c++等语言类似,用来编写程序。
ap:设备,和家用路由器类似,能将有线网变成无线。
html:网页编程语言,构造网页部件。
css:前端网页的排版语言,用来控制网页部件的样式。
1。获取数据模型搭建
1。1使用的设备介绍:
一般的设备和家庭中的通用路由器相似,但是当设备使用的时候会自动连接到一个设备管理平台统一管理。还有较一般家用的设备功率更大的设备,型号覆盖的面积更广,效果更好的设备。也能够通过平台统一管理。论文网
平台为一个网页版的管理平台,通过设备使用者登录平台来管理相应的设备,这些设备在供给设备使用者的时候就设置好了平台的地址和使用者的信息,一旦设备上线自动连接上平台。
1。2 平台的基本模型:
2。平台的总体搭建
2。1 网站的入口
2。1。1 平台权限控制
平台的后台使用java语言编写,网页展示页面使用javascript和html、css共同完成。后台的主要框架为shiro-springMVC-spring-mybatis,数据库使用mysql,服务器为tomcat。
其中shiro为一个集成的登录-权限验证-安全管理的模块,可以实现session的维护和cookie的提交管理服务,并且还能够实现常见的记住密码功能。
Shiro 的基本介绍:
Shiro是apach的一个项目,它的设计就是为了简化网站的登录模块的编写,达到集成式的模块化。
Shiro继承了许多我们登陆中常见的问题:
如用户验证,权限验证,session会话管理,记住密码等功能。
首先,既然是登陆,那么就要有一个用户,这个用户可以式一个人,也可以是程序形式的登陆。不论怎样的访问服务器的方式,这个对象在shiro中都被称为subject。这个subject就需要有账号和密码,以及相应的权限,这样shiro才能确保这个subject能不能验证登陆通过和通过验证后能做什么事情。
其次,用户登陆需要的账号密码登陆是最常见的一种,账号不用多说,重点在于密码,密码是关乎账号安全的关键,所以,在密码传输的时候就要格外的小心。例如,用户在浏览器中输入账号和密码,账号密码都以明文的方式进行传输的话,很容易就被别人获取。这样的话账号的安全就很难得到保证。于是就有了加密技术,shiro又有相关的实现。目前最常用的加密技术为MD5加密,这样的加密方式有一个好处,就是它是不可逆的加密方式,一旦生成密文,不可再转换成原文。还有一种就是base64加密,这样的加密方式是可逆的,可以通过密文,直接得到明文,这样的话别人可以经过一些方式同样可以知道你的密码。于是为了保证这样的加密方式的安全性,就出现了密文加盐。
这个‘盐’指的就是一串随机字符,可以是自定义,它的作用就是再密文生成了以后,对密文进行二次加工,例如一些模、或、与运算来对密文进行二次加密。当然这样的算法也是可逆的,但是,别人想要知道你的密码的话,不仅要获取你的密文,也许知道是base64加密方式,同时还要知道你加的这个‘盐’是什么。这样的方式提高了密文的保密性,更加的安全。当然,MD5加密的方式也是可以加盐的,也许是‘锦上添花’,但是我觉得实在没有必要弄得这样麻烦。
接下来是权限,权限的说明很简单,就是指这个subject有没有做这件事情的权力。例如,如果电脑的用户是admin、root的话,那么想要对电脑做任何事情都可以,因为这个时候,你拥有对电脑操作的所有权限。但是如果你只是这台电脑的其中一个使用的用户,你就不能对电脑的一些配置进行修改,只有简单的使用的权力,这就是权限。同样,权限和账号密码一样都是很重要的,这也就是为什么再linux中被人拿到了root权限是多么可怕的一件事情。