System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及访问控制,具体而言,涉及一种基于mqtt协议的认证授权系统、方法。
技术介绍
1、车联网领域中,mqtt协议凭借其轻巧高效、可靠安全、双向通信、报文小、支持qos等特点得到广泛应用,为车云交互带来极大便利。但是,mqtt协议为车联网领域带来便利的同时也隐藏着风险,如mqtt服务器允许匿名登入,大量的匿名登入造成服务器网络连接过载,再如认证用户登入服务器后随意操作非业务绑定主题,造成服务器资源浪费从而影响到正常业务运行等。
2、为此,亟需一种在技术层次上可依需求配置合适用户并赋予对应权限,同时在运维层次可将其作为基于mqtt协议的认证中心,支持多业务多场景同时使用的方案。
技术实现思路
1、有鉴于此,本专利技术实施例的目的在于提供独立基于mqtt协议的认证、授权模块,约束用户登入行为并限制登入用户对mqtt服务器主题的操作独立。
2、本专利技术的第一方面提供了一种基于mqtt协议的认证授权系统,所述系统包括车载用户端、mqtt服务器以及认证授权中心;
3、车载用户端,用于生成用户登录请求,并发送至mqtt服务器;所述登录请求包括用户身份信息;
4、mqtt服务器,用于获取车载用户端的用户登录请求,并对用户身份进行认证;认证允许登入后,接收车载用户端用户操作的主题信息以及行为信息,根据用户身份信息、主题信息以及行为信息生成授权请求,并将所述授权请求发送至认证授权中心;
5、认证授权中心,用于接收所述授权请求,根据
6、进一步,所述认证授权中心包括配置中心、认证模块和授权模块;
7、所述配置中心,用于配置用户身份信息、主题权限信息、用户等级信息,并生成第一映射关系进行存储;所述主题权限信息包括主题对应的允许操作权限行为;
8、所述认证模块,用于认证用户的登入mqtt服务器的登入请求;
9、所述授权模块,用于针对已通过认证并登入到mqtt服务器的合法用户,校验其对mqtt服务器主题的操作行为。
10、进一步,所述用户身份信息包括用户名、密码;
11、所述mqtt服务器,还用于在车载用户端连接mqtt服务器后,接收用户登录请求,mqtt服务器接收到所述用户登录请求后将其转发至所述认证模块;
12、所述认证模块,还用于解析所述用户登录请求中的用户身份信息,并将其与配置中心的第一映射关系中用户身份信息进行匹配;若匹配成功则确定为合法用户,允许登入。
13、进一步,所述授权模块,还用于接收mqtt服务器发送的授权请求;
14、根据授权请求从配置中心获取第一映射关系;
15、根据第一映射关系判定所述车载用户端用户操作的主题信息以及行为信息,是否合法。
16、进一步,所述根据第一映射关系判定所述车载用户端用户操作的主题信息以及行为信息,是否合法,包括:
17、判断所述授权请求中用户操作的主题是否存在于第一映射关系的操作列表中;若不存在,则授予此次操作非法权限;
18、若存在,则继续判定其操作权限是否为配置中心配置的主题对应的允许操作权限行为;
19、若所述操作权限是为配置中心配置的主题对应的允许操作权限行为,则授予此次操作合法权限,否则授予此次操作非法权限。
20、进一步,授予此次操作非法权限之后,所述授权模块,还用于发送第一提示消息、第一配置消息至车载用户端;所述第一提示消息包括此次授权请求中的用户身份信息、主题信息以及行为信息;所述第一配置消息包括将此次授权请求中的非法权限对应的行为信息是否重新配置的信息;
21、所述车载用户端,还用于根据所述第一配置消息生成配置界面,所述配置界面用于接收用户配置请求将此次授权请求中的非法权限对应的行为信息,配置为合法权限;
22、所述配置中心,还用于根据用户配置请求更新第一映射关系。
23、此外,本专利技术还提出一种基于mqtt协议的认证授权方法,所述方法包括:
24、生成用户登录请求,所述登录请求包括用户身份信息;
25、对用户身份进行认证;认证允许登入后,接收用户操作的主题信息以及行为信息,根据用户身份信息、主题信息以及行为信息生成授权请求,以用于对授权请求进行认证授权;
26、根据用户身份信息获取用户主题权限映射列表;并基于所述用户主题权限映射列表确定所述授权请求中的主题信息、行为信息是否合法;若合法,授予所述授权请求合法权限。
27、进一步,所述方法还包括预先配置用户身份信息、主题权限信息、用户等级信息,并生成第一映射关系进行存储;所述主题权限信息包括主题对应的允许操作权限行为;
28、通过认证用户登录请求,并针对已通过认证并登入的合法用户,校验其授权请求中的主题信息、行为信息是否合法。
29、进一步,若所述授权请求中的主题信息、行为信息不合法,则发送第一提示消息、第一配置消息至用户;所述第一提示消息包括此次授权请求中的用户身份信息、主题信息以及行为信息;所述第一配置消息包括将此次授权请求中的非法权限对应的行为信息是否重新配置的信息;
30、根据所述第一配置消息生成配置界面,所述配置界面用于接收用户配置请求将此次授权请求中的非法权限对应的行为信息,配置为合法权限。
31、本专利技术的方案中,通过车载用户端生成用户登录请求,并发送至mqtt服务器;所述登录请求包括用户身份信息;mqtt服务器根据用户登录请求对用户身份进行认证;认证允许登入后,接收车载用户端用户操作的主题信息以及行为信息,根据用户身份信息、主题信息以及行为信息生成授权请求,并将所述授权请求发送至认证授权中心;认证授权中心接收所述授权请求,根据用户身份信息获取用户主题权限映射列表;并基于所述用户主题权限映射列表确定所述授权请求中的主题信息、行为信息是否合法;若合法,授予所述授权请求合法权限。相比于现有技术,本专利技术能够通过双重认证与授权减少非法用户登入造成网络连接过载,并约束用户随意订阅、发布数据,提高数据稳定性和安全性。
本文档来自技高网...【技术保护点】
1.一种基于MQTT协议的认证授权系统,其特征在于,所述系统包括车载用户端、MQTT服务器以及认证授权中心;
2.根据权利要求1所述的基于MQTT协议的认证授权系统,其特征在于,所述认证授权中心包括配置中心、认证模块和授权模块;
3.根据权利要求2所述的基于MQTT协议的认证授权系统,其特征在于,所述用户身份信息包括用户名、密码;
4.根据权利要求3所述的基于MQTT协议的认证授权系统,其特征在于,所述授权模块,还用于接收MQTT服务器发送的授权请求;
5.根据权利要求4所述的基于MQTT协议的认证授权系统,其特征在于,所述根据第一映射关系判定所述车载用户端用户操作的主题信息以及行为信息,是否合法,包括:
6.根据权利要求5所述的基于MQTT协议的认证授权系统,其特征在于,授予此次操作非法权限之后,所述授权模块,还用于发送第一提示消息、第一配置消息至车载用户端;所述第一提示消息包括此次授权请求中的用户身份信息、主题信息以及行为信息;所述第一配置消息包括将此次授权请求中的非法权限对应的行为信息是否重新配置的信息;
< ...【技术特征摘要】
1.一种基于mqtt协议的认证授权系统,其特征在于,所述系统包括车载用户端、mqtt服务器以及认证授权中心;
2.根据权利要求1所述的基于mqtt协议的认证授权系统,其特征在于,所述认证授权中心包括配置中心、认证模块和授权模块;
3.根据权利要求2所述的基于mqtt协议的认证授权系统,其特征在于,所述用户身份信息包括用户名、密码;
4.根据权利要求3所述的基于mqtt协议的认证授权系统,其特征在于,所述授权模块,还用于接收mqtt服务器发送的授权请求;
5.根据权利要求4所述的基于mqtt协议的认证授权系统,其特征在于,所述根据第一映射关系判定所述车载用户端用户操作的主题信息以及行为信息,是否合法,包括:
6.根据权利要求5所述的基于mqtt协议的认证授权系统,其特征在于,授予此次操作非法权限之后,所述授权模块,还用于发送第一提示消...
【专利技术属性】
技术研发人员:游进,
申请(专利权)人:深圳联友科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。