嵌入式系统中访问权限分级的访问管理方法及装置 【技术领域】
本发明属于嵌入式系统领域,尤其涉及一种嵌入式系统中访问权限分级的访问管理方法及装置。
背景技术
目前,将WEB技术用于嵌入式系统中已经成为一个热点,通过在嵌入式设备中运行嵌入式Web服务器,可用标准浏览器在Internet网络的远端对这些设备进行访问与控制,通过访问存储在设备中的网页,动态地反映嵌入式设备的运行状态以及执行操作后的反馈信息。给嵌入式系统采集、检测、分析、控制、系统维护等带来新的功能优势,如远程采集、监控、系统维护等。
将web应用于嵌入式系统,具有以下优势:
(1)无须研发客户端软件,网络浏览器作为通用客户端的人机界面可运行于各个平台,无论是Windows、Unix均可,与所在工作站的操作系统无关;
(2)浏览器的界面简单易用,无需进行额外的使用培训;
(3)可通过浏览器进行服务器端软件的下载、升级和更新,使管理和升级现场设备应用软件更加轻松和方便;
(4)同一个服务器设备可被多个浏览器同时访问,只需通过安全认证,可以使用户通过Internet网进行远程监测、控制、升级,节省人力资本;
由于通过浏览器即可对远端嵌入式设备进行操作,这样对web服务器的安全性提出了更高的要求。于是Web访问权限认证分级应用而生,通过访问权限对用户的访问权限进行规划,如可将用户分为特殊用户、一般用户。对不同的用户给予不同的权限,包括所具有的访问操作权利和可使用的资源。这样不同的人就能对设备进行不同的操作,如有的只能查看参数与系统运行状态,而有的用户即可以查看参数,也可以修改参数并且控制设备。
现有技术下,上述应对上述权限分级的处理方法是在嵌入式设备中存储不同的web页面。这样不同权限用户登录后使用不同的web页面可以实现用户分级权限。但是嵌入式系统的存储容量是很有限的,分开存储不同权限的web页面造成嵌入式设备中宝贵存储空间的浪费;特别是在分级权限用户较多时,这种浪费情况就会对嵌入式系统造成严重影响。而且,分开维护存储的不同web网页程序对开发人员来说也会带来繁重的开发负担。
【发明内容】
本发明的目的在于提供嵌入式系统中访问权限分级的访问管理方法及装置,旨在解决现有技术下,嵌入式系统中对用户进行权限分级的管理会占用过多存储空间且嵌入式系统的开发维护的成本高的问题。
本发明是这样实现的,一种嵌入式系统中访问权限分级的访问管理方法,所述访问管理方法包括:
在用户通过登录权限的验证后,嵌入式服务器创建包括用户权限信息的Cookie信息,然后发送所述Cookie信息回到客户端;
用户从客户端请求嵌入式服务器站点上的其他页面时,嵌入式服务器端接收到客户端一起发送过来的cookie信息与页面请求信息;
嵌入式服务器根据cookie信息记载的权限信息与页面请求信息将相应权限页面返回给客户端。
本发明的另一目的在于提供一种嵌入式系统中访问权限分级的访问管理装置,所述访问管理装置包括:
Cookie信息创建单元,用于在用户通过登录权限的验证后,创建包括用户权限信息的Cookie信息,然后发送所述Cookie信息回到客户端;
页面请求单元,用于在用户从客户端请求嵌入式服务器站点上的其他页面时,将cookie信息与页面请求信息一起发送到嵌入式服务器端;
页面返回单元,用于根据cookie信息记载的权限信息及页面请求信息将相应权限页面返回给客户端。
本发明的有益效果是:通过使用cookie信息记录用户权限,在用户请求页面时,嵌入式系统根据cookie信息中记载的用户权限对页面处理后就可以将相应权限的页面返回给用户。因此,嵌入式服务器在实现对用户的访问权限进行分级限制的同时,只占用嵌入式系统较少的存储空间,且可以极大减少嵌入式服务器开发维护的成本。
【附图说明】
图1是本发明实施例提供的一种嵌入式系统中访问权限分级的访问管理方法流程图;
图2是本发明实施例提供的一种嵌入式系统中访问权限分级的用户登录认证地时序图;
图3是本发明实施例提供的一种嵌入式系统中访问权限分级的用户请求页面的时序图;
图4是本发明实施例提供的一种嵌入式系统中访问权限分级的访问管理装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过cookie信息记录用户的权限,在用户请求页面时,嵌入式系统根据用户发送的请求页面信息及cookie信息中的权限信息进行响应,然后返回相应权限页面。从而只需对页面的权限进行处理就可以将相应权限页面返回给用户,减少对嵌入式系统的存储空间的占用及系统开发维护的成本。
Cookie信息是由服务器端生成的。一般情况下,服务器生成cookie信息后发送给User-Agent(客户端,一般是浏览器),浏览器可以将Cookie信息的key/value保存到某个目录下的文本文件内,下次请求同一网站时就可以同时发送该Cookie信息给服务器(当然,前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端自己定义,这样服务器可以知道该用户是否合法用户以及是否需要重新登录等。
图1示出了本发明实施例提供的一种嵌入式系统中访问权限分级的访问管理方法流程。该流程具体步骤包括:
在步骤S101中,在用户通过登录权限的验证后,嵌入式服务器创建包括用户权限信息的Cookie信息,然后发送所述Cookie信息回到客户端;
客户端收到cookie信息后存储在指定目录下的一个临时文件上。该临时文件在用户使用结束时自动删除,这样有利于用户信息的保密。
在步骤S102中,用户从客户端请求嵌入式服务器站点上的其他页面时,嵌入式服务器端接收到客户端一起发送过来的cookie信息与页面请求信息;
在步骤S103中,嵌入式服务器根据cookie信息记载的权限信息与页面请求信息将相应页面返回给客户端。
上述访问管理方法实现了对用户访问嵌入式服务器的权限进行分级,同时只占用嵌入式系统中较少的存储空间,且降低系统的开发维护成本。
图2示出了本发明实施例提供的一种嵌入式系统中访问权限分级的用户登录认证的时序。
嵌入式系统中的服务器可以为ftp服务器、邮件服务器及web服务器等。在本发明实施例中,嵌入式服务器为嵌入式web服务器。嵌入式web服务器可以很轻松地对其网页页面的功能进行处理。如去除相关功能只需去除或掩盖相关程序;置相关功能于不可使用状态只需执行使相关功能置于不可用状态的指令就可以完成。上述嵌入式服务器根据cookie信息记载的权限信息与页面请求信息将相应页面返回给客户端中,相应权限页面就是由嵌入式web服务器将保存的最大权限网页页面中超出该相应权限的功能去除或置于不能使用状态而形成的与相应权限相对应的网页页面。
在本发明实施中,嵌入式Web服务器(server)支持CGI(Common GatewayInterface,公共网关接口)。CGI是一个规范,规定了外部应用程序与信息服务器,比如HTTP或Web服务器的接口标准。CGI程序可以用多种程序语言来实现,如Perl,C语言,UNIX Shell等。在本发明实施例中,由于嵌入式系统的限制,因此采用C语言来编写CGI程序。相比其它语言,C语言占用资源少,效率高,最适合在嵌入式系统中应用。通过Web服务器提供的CGI接口,就可以开发CGI网页程序,实现用户浏览器和嵌入式系统之间动态交互的功能。
在本发明实施例中,嵌入式Web服务器中的CGI网页程序在用户通过登录权限的验证后创建包含用户权限字段的Cookie信息,并把Cookie从服务器传送到浏览器,保存在浏览器指定的目录下。
在本发明实施例中,创建Cookie信息的具体方式如下:
http cookie的发送是通过http头部来实现的,它早于文件的传递,头部set-cookie的语法如下:
Set-cookie:name=name;expires=date;path=path;domain=domain;secure
下面对set-cookie语法中的各个参数分别进行说明:
name=name:需要设置cookie的值(name中不能使用″;″和″,″号),有多个name值时用″;″分隔例如:name1=name1;name2=name2;name3=name3。
expires=date:cookie的有效期限,其格式为:expires=″Wdy,DD-Mon-YYYY HH:MM:SS″。
path=path:设置cookie支持的路径。如果path是个路径,则cookie对这个目录下的所有文件及子目录生效。
domain=domain:对cookie生效的域名。
secure:如果给出此标志,表示cookie只能通过SSL协议的https服务器来传递。
cookie的接收是通过设置环境变量HTTP_COOKIE来实现的,CGI网页程序通过检索该变量获取cookie信息。
在本发明实施例中,嵌入式服务器利用上述的方式在用户登录验证后把用户的权限信息(例如:Set-cookie:user=Administrator或Set-cookie:user=guest)写入cookie信息中,然后发送到客户端的浏览器。客户端会将Cookie信息保存到指定目录下的文本文件内,这样方便用户再次使用该cookie信息以及保护该cookie信息的安全。当用户下次提交请求页面时,CGI程序根据浏览器发送的页面请求信息携带的cookie信息判别用户的权限级别,从而根据不同的权限实现对用户进行分级控制的功能。
为了增加设备的安全性,可以对cookie信息进行加密。加密的方式可以是MD5、AES等加密方式。在本发明实施例中,仅对cookie信息的权限信息进行AES加密,以提高设备的安全性。仅将cookie信息中权限信息进行加密可以简化加密内容;权限信息的加密方式为AES加密时的保密性更强。
图3示出了本发明实施例提供的一种嵌入式系统中访问权限分级的用户请求页面的时序。当用户登录完成再请求站点上的其他页面时,浏览器会将cookie信息与页面请求信息一起发送到嵌入式服务器端。本发明实施例中,嵌入式web服务器的CGI网页程序获取到这个cookie信息后,提取出cookie信息中经过加密的权限字段,再经过AES解密算法,得到用户权限级别,然后根据不同的权限对页面进行处理后再将该权限页面发送给客户端。
图4示出了本发明实施例提供的一种嵌入式系统中访问权限分级的访问管理装置结构。为了便于描述,这里只示出了与本发明相关的部分。该访问管理装置结构包括:
Cookie信息创建单元401,用于在用户通过登录权限的验证后,创建包括用户权限信息的Cookie信息,然后发送所述Cookie信息回到客户端;具体如上所述。
页面请求单元402,用于用户从客户端请求嵌入式服务器站点上的其他页面时,将cookie信息与页面请求信息一起发送到嵌入式服务器端;具体如上所述。
页面返回单元403,用于根据cookie信息记载的权限信息及页面请求信息将相应权限页面返回给客户端。具体如上所述。
所述cookie信息创建单元401包括:加密模块,用于在创建cookie信息时对其中的权限信息进行AES加密;具体如上所述。
所述页面返回单元403包括:解密模块,用于对从cookie信息中提取的权限字段进行AES解密。具体如上所述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。