# CygiaUserManagement **Repository Path**: believingheart/cygia-user-management ## Basic Information - **Project Name**: CygiaUserManagement - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-09-09 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cygia用户管理系统 ## 使用场景 同一机器的多个软件需要离线的权限保护, 各个软件间的账户密码需要同步 ## 特点 1. 提供 *None, Engineer, Admin, Superuser* 4个等级的权限 - None无权限 - Engineer为普通权限, 一般用于进行不太敏感的操作 - Admin权限可以进行敏感操作 - Superuser可以对Engineer和Admin进行密码修改操作, 登录Superuser需要使用一个**每天变化**的加密字符串 ## 使用 1. 使用程序CygiaUserService.Host.exe安装用户管理服务 ```powershell -- 打开powershell, 在CygiaUserService.Host.exe文件夹内使用以下命令 -- 此操作会安装Cygia user service的服务, 并启动, 且将其设为自动启动 ./CygiaUserService.Host.exe install start -- 卸载操作: 先停止服务, 然后卸载服务 Get-Service CygiaUserService | Stop-Service ./CygiaUserService.Host.exe uninstall ``` 2. 在Nuget中搜索cygia检索Prism模块包, 将CygiaUserClientModule(Framework版本)或者CoreCygiaUserClientModule(Core)版本安装到Prism App项目中 - 在App.xmal.cs中引用该模块 ```csharp protected override void RegisterTypes(IContainerRegistry containerRegistry) { containerRegistry.RegisterForNavigation(); protected override void ConfigureModuleCatalog(IModuleCatalog moduleCatalog) { moduleCatalog.AddModule(); } ``` - 在MainWindowViewModel中导航到用户管理页面 ```csharp private void Naviate(string obj) { _regionManager.RequestNavigate("MainRegion", "UserManageView"); } public MainWindowViewModel(IRegionManager regionManager, IEventAggregator ea) { NaviationCommand = new DelegateCommand(Naviate); _regionManager = regionManager; ea.GetEvent().Subscribe(role => MessageBox.Show($"Current user changed to: {role}")); } ``` ## 配置 1. AutoSignOutTime(在Prism程序的App.config中), 设置自动退出登录的时间, 单位毫米. 不设置则不会自动退出登录 ```xml ``` 2. Secret(在CygiaUserService.Host.exe配套的App.config中), 设置用于产生Superuser加密字符串的种子. 默认值为`sharedsecret` ```xml ... ``` ## 使用**GetSuperuserPassword.exe**获取Superuser密码 Superuser密码为每天更新的动态密码, 需要使用安装CygiaUserService服务时所用的**Secret**来获取当天的密码. Superuser具有最高级的权限, 因此**GetSuperuserPassword.exe**应该只能由开发者使用