CN115729646A - 一种electron桌面应用执行脚本的实现方法及实现组件 - Google Patents
一种electron桌面应用执行脚本的实现方法及实现组件 Download PDFInfo
- Publication number
- CN115729646A CN115729646A CN202211598289.2A CN202211598289A CN115729646A CN 115729646 A CN115729646 A CN 115729646A CN 202211598289 A CN202211598289 A CN 202211598289A CN 115729646 A CN115729646 A CN 115729646A
- Authority
- CN
- China
- Prior art keywords
- script
- execution
- password
- authority
- desktop application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013515 script Methods 0.000 title claims abstract description 215
- 238000000034 method Methods 0.000 title claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 7
- 238000013461 design Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 3
- 238000011161 development Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开一种electron桌面应用执行脚本的实现方法及实现组件,涉及桌面应用程序技术领域,其实现内容包括:下载已打包完成的electron桌面应用,传入该electron桌面应用的执行脚本到脚本风险校验库和脚本执行所需权限库,来判断所述执行脚本是否符合配置所设定的风险级别和执行所需权限;执行脚本符合设定的风险级别,且以管理员权限执行脚本时,获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。本发明可以提高桌面应用执行脚本的安全程度、便捷程度、个性化程度、可操作程度。
Description
技术领域
本发明涉及桌面应用程序技术领域,具体的说是一种electron桌面应用执行脚本的实现方法及实现组件。
背景技术
近年来,随着进国家在全球化中的地位越来越重要,国家信息安全问题也日益突出,为了保证国家信息安全,国家推行了一系列推进国产化的措施;国内各个软硬件厂商也都有很大的进步,对于linux系统桌面端软件的开发应用需求越来越多,其中基于nodejs的Electron和nwjs因简单易上手、开发效率较高、框架丰富等优点受到广大开发者和用户的欢迎。在开发过程中有些场景的功能需要通过执行脚本来实现,比如Electron调用安装软件命令,首先需要引入nodejs exec模块传入命令字符串,此命令往往会受到系统权限的限制,调用shell执行脚本时就需要在执行命令前面加上sudo,运行后需要在控制台输入管理员密码,密码验证通过后脚本才能如期执行。此操作不适用打包好的electron应用,所以需要引入提权组件,现有的提权组件主要有sudo-prompt、electron-sudo等组件,这些组件都是调用操作系统提供的提权通道,比如KDE图形界面默认内置/usr/bin/kdesudo,这些提权通道的缺陷是每执行一次脚本就需输入一次密码,界面样式跟随操作系统,个性化需求难实现,不可管理用户密码。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种electron桌面应用执行脚本的实现方法及实现组件,来提高桌面应用执行脚本的安全程度、便捷程度、个性化程度、可操作程度。
首先,本发明的一种electron桌面应用执行脚本的实现方法,解决上述技术问题采用的技术方案如下:
一种electron桌面应用执行脚本的实现方法,包括如下步骤:
下载已打包完成的electron桌面应用,传入该electron桌面应用的执行脚本到脚本风险校验库和脚本执行所需权限库,来判断所述执行脚本是否符合配置所设定的风险级别和执行所需权限;
执行脚本符合设定的风险级别,且以普通用户权限执行脚本时,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理;
执行脚本符合设定的风险级别,且以管理员权限执行脚本时,获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。
可选的,脚本风险校验库中设置有低风险脚本满足条件和高风险脚本满足条件,所传入执行脚本符合低风险脚本满足条件时,继续进行脚本执行所需权限的判定,所传入执行脚本符合高风险脚本满足条件时,直接结束执行;
脚本执行所需权限库中设置有需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型,以管理员权限运行的执行脚本需要输入正确的密码才能执行脚本,以普通用户权限运行的执行脚本无需输入密码即可执行脚本。
可选的,当以管理员权限执行脚本时,用户通过密码输入界面成功输入密码并执行脚本成功后,存储密码到cache中,下一次执行脚本时直接从cache中调用密码即可;
当用户修改密码后,在下一次执行脚本时弹出密码输入界面重新获取用户密码,并更新存储cache中的密码。
可选的,当以管理员权限执行脚本时,在密码输入界面选择密码保存期限;
密码输入界面的密码保存期限选项包括不保存密码、一天、三天、一周、一月、永久。
可选的,密码输入界面内置有elementui和ant-design风格的输入框。
其次,本发明的一种electron桌面应用执行脚本的实现组件,解决上述技术问题采用的技术方案如下:
一种electron桌面应用执行脚本的实现组件,该组件针对已打包完成的electron桌面应用执行脚本,包括:
脚本执行公共js组件,用于为脚本执行提供统一接口;
脚本风险校验库,配置有低风险脚本满足条件和高风险脚本满足条件,用于根据传入执行脚本识别符合配置所设定的风险级别;
脚本执行所需权限库,配置有需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型,用于根据传入执行脚本识别符合配置的执行权限;
提权管理组件,用于获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。
可选的,所传入执行脚本符合低风险脚本满足条件时,继续进行脚本执行所需权限的判定,所传入执行脚本符合高风险脚本满足条件时,直接结束执行;
以管理员权限运行的执行脚本需要输入正确的密码才能执行脚本,以普通用户权限运行的执行脚本无需输入密码即可执行脚本。
可选的,通过脚本执行所需权限库识别执行脚本需要以管理员权限运行时,
用户成功输入密码并执行脚本成功后,通过提权管理组件存储密码到cache中,下一次执行脚本时直接从cache中调用密码即可;
当用户修改密码后,在下一次执行脚本时弹出密码输入界面,通过提权管理组件重新获取用户密码,并更新存储cache中的密码。
可选的,当以管理员权限执行脚本时,在密码输入界面选择密码保存期限;
密码输入界面的密码保存期限选项包括不保存密码、一天、三天、一周、一月、永久。
可选的,密码输入界面内置有elementui和ant-design风格的输入框。
本发明的一种electron桌面应用执行脚本的实现方法及实现组件,与现有技术相比具有的有益效果是:
本发明对基于electron的桌面应用进行提权操作,可对密码进行灵活管理,可对密码输入框个性化修改,无需使用管理员权限运行软件,提高安全性。
附图说明
附图1是本发明中electron桌面应用执行脚本的具体执行流程。
具体实施方式
为使本发明的技术方案、解决的技术问题和技术效果更加清楚明白,以下结合具体实施例,对本发明的技术方案进行清楚、完整的描述。
实施例一:
本实施例提出一种electron桌面应用执行脚本的实现方法,包括如下步骤:
在脚本风险校验库中设置低风险脚本满足条件和高风险脚本满足条件,在脚本执行所需权限库中设置需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型;
下载已打包完成的electron桌面应用,传入该electron桌面应用的执行脚本到脚本风险校验库和脚本执行所需权限库,来判断所述执行脚本是否符合配置所设定的风险级别和执行所需权限;
执行脚本符合设定的风险级别,且以普通用户权限执行脚本时,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理;
执行脚本符合设定的风险级别,且以管理员权限执行脚本时,获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。
本实施例中,脚本风险校验库中设置有低风险脚本满足条件和高风险脚本满足条件,所传入执行脚本符合低风险脚本满足条件时,继续进行脚本执行所需权限的判定,所传入执行脚本符合高风险脚本满足条件时,直接结束执行;
脚本执行所需权限库中设置有需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型,以管理员权限运行的执行脚本需要输入正确的密码才能执行脚本,以普通用户权限运行的执行脚本无需输入密码即可执行脚本。
当以管理员权限执行脚本时,用户通过密码输入界面成功输入密码并执行脚本成功后,存储密码到cache中,下一次执行脚本时直接从cache中调用密码即可;
当用户修改密码后,在下一次执行脚本时弹出密码输入界面重新获取用户密码,并更新存储cache中的密码。
本实施例中,当以管理员权限执行脚本时,在密码输入界面选择密码保存期限;
密码输入界面的密码保存期限选项包括不保存密码、一天、三天、一周、一月、永久。
本实施例中,密码输入界面内置有elementui和ant-design风格的输入框。
实施例二:
本实施例提出一种electron桌面应用执行脚本的实现组件,该组件针对已打包完成的electron桌面应用执行脚本,包括:
脚本执行公共js组件,用于为脚本执行提供统一接口;
脚本风险校验库,配置有低风险脚本满足条件和高风险脚本满足条件,用于根据传入执行脚本识别符合配置所设定的风险级别;
脚本执行所需权限库,配置有需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型,用于根据传入执行脚本识别符合配置的执行权限;
提权管理组件,用于获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。
本实施例中,所传入执行脚本符合低风险脚本满足条件时,继续进行脚本执行所需权限的判定,所传入执行脚本符合高风险脚本满足条件时,直接结束执行;
以管理员权限运行的执行脚本需要输入正确的密码才能执行脚本,以普通用户权限运行的执行脚本无需输入密码即可执行脚本。
本实施例中,通过脚本执行所需权限库识别执行脚本需要以管理员权限运行时,
用户成功输入密码并执行脚本成功后,通过提权管理组件存储密码到cache中,下一次执行脚本时直接从cache中调用密码即可;
当用户修改密码后,在下一次执行脚本时弹出密码输入界面,通过提权管理组件重新获取用户密码,并更新存储cache中的密码。
本实施例中,当以管理员权限执行脚本时,在密码输入界面选择密码保存期限;
密码输入界面的密码保存期限选项包括不保存密码、一天、三天、一周、一月、永久。
本实施例中,密码输入界面内置有elementui和ant-design风格的输入框。
结合附图1,基于本实施例的具体实现过程,以linux系统应用商店客户端软件为例,以下简称应用商店,①在开发过程中引入脚本执行公共js组件,应用商店运行在debian系统,则应用商店需在服务端获取deb格式的软件安装包,应用商店需执行命令“dpkg–i软件包名称.deb”,传入此执行脚本到脚本风险校验库和脚本执行所需权限库中判断为符合配置的风险级别(即低风险)且需要以管理员权限运行此命令;②执行脚本,应用商店弹出密码输入界面,用户输入密码点击确认,传入此密码到exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确,不正确则继续弹出密码输入框或给出提示密码不正确提醒用户再次输入密码,密码输入正确则继续执行脚本,执行成功则返回开发人员成功状态和执行成功后返回的信息,执行失败则返回给开发人员失败状态和执行失败后返回的信息;③执行成功后,在密码输入界面上选择密码保存期限,存储于应用商店cache中,供下次执行脚本使用。当然,传入执行脚本到脚本风险校验库和脚本执行所需权限库中判断为符合配置的风险级别(即低风险)且需要以普通用户权限运行此命令时,成功执行脚本则返回开发人员成功状态和执行成功后返回的信息,脚本执行失败则返回给开发人员失败状态和执行失败后返回的信息。
综上可知,采用本发明的一种electron桌面应用执行脚本的实现方法及实现组件,可对密码进行灵活管理,可对密码输入框个性化修改,无需使用管理员权限运行软件,提高安全性。
以上应用具体个例对本发明的原理及实施方式进行了详细阐述,这些实施例只是用于帮助理解本发明的核心技术内容。基于本发明的上述具体实施例,本技术领域的技术人员在不脱离本发明原理的前提下,对本发明所作出的任何改进和修饰,皆应落入本发明的专利保护范围。
Claims (10)
1.一种electron桌面应用执行脚本的实现方法,其特征在于,包括如下步骤:
下载已打包完成的electron桌面应用,传入该electron桌面应用的执行脚本到脚本风险校验库和脚本执行所需权限库,来判断所述执行脚本是否符合配置所设定的风险级别和执行所需权限;
执行脚本符合设定的风险级别,且以普通用户权限执行脚本时,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理;
执行脚本符合设定的风险级别,且以管理员权限执行脚本时,获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。
2.根据权利要求1所述的一种electron桌面应用执行脚本的实现方法,其特征在于,脚本风险校验库中设置有低风险脚本满足条件和高风险脚本满足条件,所传入执行脚本符合低风险脚本满足条件时,继续进行脚本执行所需权限的判定,所传入执行脚本符合高风险脚本满足条件时,直接结束执行;
脚本执行所需权限库中设置有需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型,以管理员权限运行的执行脚本需要输入正确的密码才能执行脚本,以普通用户权限运行的执行脚本无需输入密码即可执行脚本。
3.根据权利要求2所述的一种electron桌面应用执行脚本的实现方法,其特征在于,当以管理员权限执行脚本时,用户通过密码输入界面成功输入密码并执行脚本成功后,存储密码到cache中,下一次执行脚本时直接从cache中调用密码即可;
当用户修改密码后,在下一次执行脚本时弹出密码输入界面重新获取用户密码,并更新存储cache中的密码。
4.根据权利要求2所述的一种electron桌面应用执行脚本的实现方法,其特征在于,当以管理员权限执行脚本时,在密码输入界面选择密码保存期限;
密码输入界面的密码保存期限选项包括不保存密码、一天、三天、一周、一月、永久。
5.根据权利要求4所述的一种electron桌面应用执行脚本的实现方法,其特征在于,密码输入界面内置有elementui和ant-design风格的输入框。
6.一种electron桌面应用执行脚本的实现组件,其特征在于,该组件针对已打包完成的electron桌面应用执行脚本,包括:
脚本执行公共js组件,用于为脚本执行提供统一接口;
脚本风险校验库,配置有低风险脚本满足条件和高风险脚本满足条件,用于根据传入执行脚本识别符合配置所设定的风险级别;
脚本执行所需权限库,配置有需要以管理员权限运行的执行脚本类型和以普通用户权限运行的执行脚本类型,用于根据传入执行脚本识别符合配置的执行权限;
提权管理组件,用于获取对话框中密码输入界面的密码后调用exec模块,根据exec模块执行反馈信息error、stdout、stderr判断密码是否正确和可输入错误次数,如执行成功则返回成功状态,执行错误则返回错误状态及信息,由开发人员自行处理。
7.根据权利要求6所述的一种electron桌面应用执行脚本的实现组件,其特征在于,所传入执行脚本符合低风险脚本满足条件时,继续进行脚本执行所需权限的判定,所传入执行脚本符合高风险脚本满足条件时,直接结束执行;
以管理员权限运行的执行脚本需要输入正确的密码才能执行脚本,以普通用户权限运行的执行脚本无需输入密码即可执行脚本。
8.根据权利要求7所述的一种electron桌面应用执行脚本的实现组件,其特征在于,通过脚本执行所需权限库识别执行脚本需要以管理员权限运行时,
用户成功输入密码并执行脚本成功后,通过提权管理组件存储密码到cache中,下一次执行脚本时直接从cache中调用密码即可;
当用户修改密码后,在下一次执行脚本时弹出密码输入界面,通过提权管理组件重新获取用户密码,并更新存储cache中的密码。
9.根据权利要求7所述的一种electron桌面应用执行脚本的实现组件,其特征在于,当以管理员权限执行脚本时,在密码输入界面选择密码保存期限;
密码输入界面的密码保存期限选项包括不保存密码、一天、三天、一周、一月、永久。
10.根据权利要求9所述的一种electron桌面应用执行脚本的实现组件,其特征在于,密码输入界面内置有elementui和ant-design风格的输入框。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598289.2A CN115729646A (zh) | 2022-12-14 | 2022-12-14 | 一种electron桌面应用执行脚本的实现方法及实现组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211598289.2A CN115729646A (zh) | 2022-12-14 | 2022-12-14 | 一种electron桌面应用执行脚本的实现方法及实现组件 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115729646A true CN115729646A (zh) | 2023-03-03 |
Family
ID=85301282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211598289.2A Pending CN115729646A (zh) | 2022-12-14 | 2022-12-14 | 一种electron桌面应用执行脚本的实现方法及实现组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115729646A (zh) |
-
2022
- 2022-12-14 CN CN202211598289.2A patent/CN115729646A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11385993B2 (en) | Dynamic integration of command line utilities | |
CN108845812A (zh) | 插件更新方法、装置、计算机设备和存储介质 | |
US20230036357A1 (en) | Method and apparatus for authority control, computer device and storage medium | |
CN106775744B (zh) | 一种生成静态库的方法和装置 | |
US20150277895A1 (en) | Method for Generating Custom BIOS Setup Interface and System Therefor | |
CN110489310B (zh) | 一种记录用户操作的方法、装置、存储介质及计算机设备 | |
CN108319575B (zh) | 一种页面组件的校验方法、装置、服务器和存储介质 | |
CN108958785B (zh) | 一种应用程序升级方法及装置 | |
WO2022250864A1 (en) | Deploying a cloud service based on component dependencies | |
JP2021131897A (ja) | スケジューリング方法、装置、設備、記憶設備、及びプログラム | |
US20230359741A1 (en) | Trusted boot method and apparatus, electronic device, and readable storage medium | |
CN106775608B (zh) | 独立系统进程的实现方法和装置 | |
CN115729646A (zh) | 一种electron桌面应用执行脚本的实现方法及实现组件 | |
CN110196741A (zh) | 基本输入输出系统的设置方法、终端及计算机存储介质 | |
CN113590179B (zh) | 插件检测方法、装置、电子设备及存储介质 | |
CN104699618A (zh) | 指定用户对高权限进程自动化测试的方法及装置 | |
KR20190105774A (ko) | 스마트 계약 언어에서 함수 호출의 안전성 향상 방법 | |
CN113553271A (zh) | 一种应用程序内部测试程序生成及测试方法 | |
CN117234606B (zh) | Bios配置数据的同步方法及装置 | |
CN111782230B (zh) | 程序安装控制方法、装置和电子设备 | |
KR20230085000A (ko) | 단일 형상을 지원하는 통합 클라우드 서버 및 이의 통합 클라우드 서비스 플랫폼 제공 방법 | |
CN117234532A (zh) | 基于表单和预定义脚本快速离线部署应用的方法及装置 | |
CN116909645A (zh) | 系统的启动方法、装置、设备及存储介质 | |
CN118227216A (zh) | 一种基于Java注解的动态配置接口权限控制的方法 | |
CN116166452A (zh) | 一种远程过程调用的白名单处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |