菜单

权限接口(管理用户权限)

下载

介绍

可以在工程设置中添加组,用户,并为用户添加对应的权限组,如下图所示

或者是选择【密码管理】内置页,给用户赋予权限

可以配合页面控件属性中的【权限控制】进行使用

下面将对一些相关的接口进行介绍

接口展示

c++ 复制代码
/**
 * @brief 用户结构体
 */
struct User{
public:
	string uid;
	string name;
	string pwd;
};

/**
 * @brief 权限管理
 */
class AuthMgr{
public:
  /**
   * @brief 注册用户组
   * @param grpname	用户组名称
   * @return			新用户组ID,已存在或其它原因则返回空
   */
  static string addGroup(string grpname);
  /**
   * @brief 删除用户组
   * @param gid		用户组id
   * @return			返回是否成功
   */
  static bool delGroup(string gid);
  /**
   * @brief 重命名用户组
   * @param gid		用户组id
   * @param grpname	新的用户组名称
   * @return			返回是否成功
   */
  static bool renGroup(string gid, string grpname);
  /**
   * @brief 添加用户
   * @param uid		指定用户唯一id.
   * 					uid为空时系统将生成唯一id。若指定的id已经存在,则添加失败,返回空串""
   * @param name		指定用户名称.
   * 					name为空时则添加失败,返回空串""
   * @param pwd		批定用户密码.
   * @param gid		指定所属组id.
   * 					gid为空时,则不分组。不为空,且组不存在时,则添加失败,返回空串""
   * @return			添加成功则返回新增用户id;失败则返回空串""
   */
  static string addUser(string uid="", string name="", string pwd="", string gid="");
  /**
   * @brief 修改密码
   * @param uname		用户名
   * @param oldpwd	旧密码
   * @param newpwd1	新密码
   * @param newpwd2	确认新密码
   * @return			返回是否成功
   */
  static bool changePwd(string uname="", string oldpwd = "", string newpwd1="", string newpwd2="");
  /**
   * @brief 用户验证
   * @param uid  	用户ID
   * @param pwd  	验证密码
   * @param user 	返回用户信息
   * @return		返回是否成功
   */
  static bool userAuth(string uid, string pwd, User& user);
  /**
   * @brief 用户注销
   * @return		返回是否成功
   */
  static bool userLogout();
  /**
   * @brief 重命名用户
   * @param uid	用户id
   * @param uname	用户新名称
   * @return		返回是否成功
   */
  static bool renUser(string uid, string uname);
  /**
   * @brief 删除用户
   * @param uid	用户id
   * @return		返回是否成功
   */
  static bool delUser(string uid);
  /**
   * @brief 添加用户到组
   * @param uid		用户id
   * @param gid		组id
   * @return			返回是否成功
   */
  static bool addUserToGroup(string uid, string gid);
  /**
   * @brief 将用户移出组
   * @param uid		用户id
   * @param gid		用户组id
   * @return			返回是否成功
   */
  static bool delUserFromGroup(string uid, string gid);
  /**
   * @brief 获取所有组<组id, 组name>
   * @return
   */
  static vector<KV_Str_Str> getAllGroupLists();
  /**
   * @brief 获取所有用户
   * @return
   */
  static vector<User> getUserLists();
  /**
   * @brief 获取用户所属组(用户可能属于多个组)
   * @param uid 用户id
   * @return vector<组id,组名称>
   */
  static vector<KV_Str_Str> getUserGroups(string uid);
  /**
   * @brief 获取用户组用户列表
   * @param gid		用户组id
   * @return
   */
  static vector<User> getGroupUsers(string gid);

};

使用方法

引入头文件

建议将头文件引入于HmiApp.h文件中

c++ 复制代码
#include "op/IAuthMgr.h"

使用接口

c++ 复制代码
string grpId = AuthMgr::addGroup("admin")

登录与注销用户弹出框

c++ 复制代码
/**
 * @brief 获取用户登录
 * @param title		标题
 * @return
 */
virtual IDialogPtr getLoginBox(const string& title = "登录") = 0;
/**
 * @brief 获取用户注销提示框
 * @param title		标题
 * @return
 */
virtual IDialogPtr getLogoutBox(const string& title="注销", const string& tip="") = 0;

使用方法

c++ 复制代码
pm->getLoginBox("用户登录")->show();
pm->getLogoutBox("用户注销")->show();

注意

  • 用户必须为登录状态才能注销
  • 注销的用户是当前登录的用户
上一个
采样接口(导出数据)
下一个
网络接口(http,Socket)
最近修改: 2025-02-20Powered by