丙通全国分支机构: 广州总部 |
欢迎光临丙通MRO官网,我们竭诚为您服务!BTONE专注行业,提供更专业便捷的MRO供应!

我的购物篮0

登录 | 注册 |

行业资讯

2035年纯电动汽车或将成

2035年纯电动汽车或将成为我国新销售车辆主流日前,交通运输部、国家发展改革委等十部门联合印发关于推动交通运输与能源融合发展的指导意见,明确交通运输与能源融合发展目标。

2025年减速器行业现状与

2025年减速器行业现状与发展趋势分析减速器作为机械传动系统的重要组成部分,广泛应用于工业、农业、交通运输、航空航天等多个领域。

2025年高端装备制造行业

2025年高端装备制造行业发展现状分析及市场前景展望高端装备制造业是以先进技术为核心,涵盖智能制造、航空航天、轨道交通、海洋工程、新能源等领域的战略性产业,是国家工业现代化和科技竞争力的重要体现

我国制造业产品质量合格

我国制造业产品质量合格率稳中有升记者从2月25日至26日在陕西省西安市召开的全国市场监管系统质量发展工作座谈会上获悉,截至2024年底,我国制造业产品质量合格率达到93.93%,全国制造业质量竞争力指数提高到85.6,生活性服务和公共服务质量满意度保持在“满意”区间。

菲尼克斯电气携手飞凌嵌

菲尼克斯电气携手飞凌嵌入式,共同打造工业数字化底座随着智能制造及全面IOT融合需求的蓬勃兴起,传统工业软件与自动化解决方案在应对新型工业场景时,其固有局限逐步凸显,难以满足日益复杂与多元的生产要求。自动化技术领域正面临着一场深刻且具有深远意义的变革浪潮,迫切需要创新性技术范式的引领与驱动

欧姆龙新品发布丨ZP-L激

欧姆龙新品发布丨ZP-L激光位移传感器,兼具检测稳定性与易用性,革新工程链传统激光位移传感器的安装和校准较为复杂,要求操作人员具备专业知识,这增加了设备初始设置时间,也限制了其应用范围。因此,易用性逐渐成为工程师选择激光位移传感器时的重要因素。

技术方案

热门资讯

社会百象

您现在的位置: 首页 > 资讯中心 > 技术方案 > 施耐德Q6108如何获得当前登录用户所属的角色

施耐德Q6108如何获得当前登录用户所属的角色

2013-01-10

浏览次数:412

施耐德Q6108如何获得当前登录用户所属的角色

 

适用于:

  CitectSCADA 7.10,7.20

 

概述:

如何获得当前登录用户所属的角色呢?

 

解决方法:

Citect7.10中用户隶属于角色,这些角色共同来定义用户访问的区域和权限。当前活动

角色的列表在运行时并不能获得,但是可以通过调用DevOpen()和DevFind()函数来查找

users.dbf来获得当前的角色。

 

如果用户使用Windows集成帐户,那么Windows的组会链接到Citect中的角色。这时

就不能通过查找users.dbf来查找当前角色了,因为当前用户并不在Citect中定义。一个变

通的方法是在角色的“进入命令”中查找当前活动角色。

施耐德Q6108如何获得当前登录用户所属的角色将下列Cicode添加到您的工程中。然后打开工程管理器。按下F2键查看详细内容。将

每一个角色的“进入命令”设置为RoleSet("<角色名称>")来保存角色名称,将“退出命令”

设置为  RoleSet(""),使其在退出时清空。

 

INT    mnMaxRoles = 16;

STRING  msCurrentRoles[16];

STRING  msCurrentUser = "";

INT    mnCurrentRole = 0;

 

 

//Add  the  specified  role  to  the  current  user's  roles  list.  This  is  called  by  the  Role's  Entry

Command.

//Call RoleSet("") from the Role's Exit command to clear the list of roles.

FUNCTION

RoleSet(STRING sRole = "")

 

  STRING sUserName = Name();

  EnterCriticalSection("RoleSet");

  IF StrLength(sRole) > 0 THEN

    IF msCurrentUser <> sUserName THEN

      msCurrentUser = sUserName;

      mnCurrentRole = 0;

END

  

    IF mnCurrentRole < mnMaxRoles THEN

      msCurrentRoles[mnCurrentRole] = sRole;

      ErrLog("RoleSet('" + sRole + "') added role " + mnCurrentRole:#);

      mnCurrentRole = mnCurrentRole + 1;

    ELSE

      ErrLog("RoleSet() Too many roles to store");

    END

  ELSE

    ErrLog("RoleSet() clearing roles");

  

    mnCurrentRole = 0;

    msCurrentUser = "";

  END

  LeaveCriticalSection("RoleSet");  

END

 

//Check if the current user has the specified role

//

//Returns TRUE if the user has the role or the role was blank, otherwise FALSE.

//

INT

FUNCTION

UserHasRole(STRING sRole)

  

    INT    nRole = 0;

STRING  sUser = Name();

 

  //If no role was specified, allow access

  IF StrLength(sRole) = 0 THEN

    RETURN TRUE;

  END

    FOR nRole = 0 TO mnMaxRoles - 1 DO

      IF msCurrentRoles[nRole] = sRole THEN                        

        RETURN TRUE;

      END

    END                       

    RETURN FALSE;

END

 

例如:

“角色名称”:Admin

“Windows组名”:Administrators

“全局权限”:1...8

“进入命令”:RoleSet("Admin")

“退出命令”:RoleSet("")

 

那么活动的角色列表将会被保存在msCurrentRoles[]数组中。检查当前用户是否属于某

一个角色,请使用Cicode:UserHasRole(sRole)。

例如:UserHasRole("Admin")

 信息来源:施耐德官方网站。

本文地址:http://www.btone-mro.com/BtoneInform/newsContent.aspx?id=1058


Copyright 2008-2011 广州丙通电子元件有限公司 粤ICP备19120971号-1
地址:广州市黄埔区埔南路63号科研办公楼201-208房 电话:020-31701070 传真:020-31702851

知名品牌  |  XML地图      需要MRO工业品的朋友欢迎来丙通MRO采购!