点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
需要控制用户打开的会话,每个用户只能打开1个会话。
如果用户已经有一个打开的会话并尝试在另一个浏览器中打开一个新会话,则应将其阻止。
在升级之前,仍然是7.0nw版本,为了进行访问控制,我们使用了WDClientUser API,方法为getClientUsers()。
getClientUsers()方法。 返回已登录用户的列表,但升级后此方法停止工作,并且我们找不到任何解决方案或其他方法可以吸引Portal的活动用户。
遵循我们的解决方法,该方法在7.0版中有效,而在7.5版中无效
public boolean verificaMultiploLogon(){ //@@ begin verificaMultiploLogon() SessionID session = new SessionID(); IWDClientUser用户列表[] = WDClientUser.getClientUsers(); int loginCount = 0; 对于(int index = 0; index1 &&!session.getLogonId()。toUpperCase()。equals(" MFARIAS")&&!session.getLogonId()。toUpperCase()。equals(" LBATISTA")&&!session.getLogonId()。toUpperCase ().equals(" LPRATES")&&!session.getLogonId()。toUpperCase()。equals(" CASILVA03")) { 字符串消息= wdComponentAPI.getTextAccessor()。getText(IMessageAutoWMFabNewComponent.E03,新String [] {session.getLogonId()。toUpperCase()});; this.messageManager.reportException(message,false); 返回false; } 其他 { 返回true; } //@@结束 }
你好克劳迪奥,
从NetWeaver 7.10开始,不使用getClientUsers方法。 没有可用的替代品! 从NetWeaver 7.10开始,该方法将返回一个仅包含一个元素的数组,该元素是当前用户会话的
IWDClientUser
。https://help.sap.com/doc/javadocs_nwce_current/7.2.1/zh-CN/wdr/com.sap.wdr/com/sap/tc/ webdynpro/services/sal/um/api/WDClientUser.html
您是否尝试过使用方法 forceLoggedInClientUser ()吗? 如果用户已登录,那么他们已经有会话了,不是吗?
如果是这样,那么您可能会禁止打开新会话。
此致
一周热门 更多>