SAP中关于用户IP信息的获取(转载)
SAP中如何获取登录用户的IP? 或如何查看哪些IP登录到SAP中:
在Table: USR41中查看,具体字段的说明如下:
MANDT --- Client
BNAME --- 登录的SAP ID
TERMID --- Terminal ID (这个字段的意思不明)
SERVER ---- SAP Application Server(Central Instance / Dialoge Instance)
TERMINAL ---- 用户电脑(包含IP,hostname)
SPRACHE ---- 登录SAP时,用户选择的语言
LOGON_DATE --- 登录日期
LOGON_TIME --- 登录时间
--------------------------------------------------------------------------------------------------------------
对于USR41这个表有以下疑问:
1. 该表的数据保留多长时间?
2. 该表的数据是由哪个程序获取的?
3. 哪些登录到SAP才会记录到这个表中?
来自官方的说法:
1. 该表的数据可能是实时的。但是: During the RFC logon with the logon screen, entries occur in table USR41 which are not deleted during the log off.
2. RSM04000
3. 经过GUI登录的用户肯定会记录到该表中.
---------------------------------------------------
SAP用户登录增强,对用户GUI登录有效,但对RFC访问登录(例如JCO)无效。增强类型是CMOD/SMOD,增强出口(exit)是SUSR0001。
一、增强操作步骤
- tcode smod,”加强” 输入SUSR0001,”对象组件”选择”组件”,点击“修改”。
- 双击功能模块名”EXIT_SAPLSUSF_001″
- FUNCTION EXIT_SAPLSUSF_001中已有代码”INCLUDE ZXUSRU01″.在se80下,创建INCLUDE ZXUSRU01。
- 在ZXUSRU01中输入需要的代码
- 激活增强。在tcode smod,”加强” 输入SUSR0001,点击”测试”.选择EXIT_SAPLSUSF_001,激活。
二、增强登录数据获取
在ZXUSRU01中可输入需要的代码,控制登录动作。常见数据获取:
当前登录用户的用户名:SY-UNAME
当前登录用户的IP:CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_IP_ADDRESS
当前的全部登录:TABLE UINFO
三、登录增强代码示例
以下代码完成用户IP限定,即只允许用户TESTUSER从IP192.168.0.1登录,否则提示没有权限并中断登录。
DATA: IP TYPE STRING,
COUNT TYPE I. CALL METHOD CL_GUI_FRONTEND_SERVICES=>GET_IP_ADDRESS
RECEIVING
IP_ADDRESS = IP. IF SY-UNAME = ‘TESTUSER’ AND IP <> ‘192.168.0.1′.
MESSAGE E157().
ENDIF.
四、注意
- 此增强只能拦截GUI登录,不能拦截RFC登录。我还没找到RFC登录的Exit?谁知道请指教一二。
- 增强只有激活后,才生效。操作见前面的步骤5.
- 建立ZXUSRU01后,可以直接双击FUNCTION EXIT_SAPLSUSF_001中的”INCLUDE ZXUSRU01″进入编辑
SAP中关于用户IP信息的获取(转载)的更多相关文章
- 基于SqlSugar的开发框架循序渐进介绍(6)-- 在基类接口中注入用户身份信息接口
在基于SqlSugar的开发框架中,我们设计了一些系统服务层的基类,在基类中会有很多涉及到相关的数据处理操作的,如果需要跟踪具体是那个用户进行操作的,那么就需要获得当前用户的身份信息,包括在Web A ...
- .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息
在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...
- 浅谈.NET(C#)与Windows用户账户信息的获取
原文:浅谈.NET(C#)与Windows用户账户信息的获取 目录 1. 用户账户名称 - 使用Environment类 2. 用户账户信息 - 使用WindowsIdentity和IdentityR ...
- Oracle 中记录用户登录信息
我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...
- Ubuntu中设置静态IP和DNS(转载)
原文地址:http://blog.sina.com.cn/s/blog_669421480102v3bb.html VMware 中使用网络,对虚拟机设置静态IP:在Ubuntu中设置静态IP共两步: ...
- Ecshop在模板中判断用户是否登陆,获取用户等级信息
ecshop模板中smarty怎样判断用户等级.用户id.用户昵称用户名,请看以下方法,使用全局变量 <!-- {if $smarty.session.user_rank gt 1}--> ...
- django中向用户发送邮件信息
发送邮件来让用户激活,因此,邮件中需要包含用户信息.但用户信息需要加密才可以.因此加密采用的是itsdangerous中的TimedJSONWebSignatureSerializer. 参考链接:h ...
- SAP 中的用户类型
在使用 SU01 维护用户时,在登录数据选项卡中会要求选择用户类型,一般我们都选择第一项 Dialog,但是其他几个选项有什么作用呢?下面我们就一一解释. 对话用户顾名思义,就是需要通过 SAP GU ...
- 设置Cookie,登录记住用户登录信息,获取用户登录过得信息
function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Da ...
随机推荐
- CLR via C#深解笔记七 - 自动内存管理(垃圾回收)
每个应用程序都要使用这样或者那样的资源,比如文件.内存缓冲区.屏幕空间.网络连接.数据库资源等.事实上,在面向对象的环境中,每个类型都代表可供程序使用的一种资源. 要使用这些资源,必须为代表资源的类型 ...
- C#多线程管理代码
/// <summary> /// 多线程执行 /// </summary> public class MultiThreadingWorker { /// <summa ...
- jQuery---EasyUI小案列
jQuery EasyUI为提供了大多数UI控件的使用,如:accordion,combobox,menu,dialog,tabs,validatebox,datagrid,window,tree等等 ...
- linux rdate
检查服务器时间,发现服务器时间与当前时间错了很多.于是调整. 使用ntpdate ,不管如何设置,包括关闭防火期,设置ntp.conf,结果都不成功. 随即使用网上提供的另外一种方法,临时先解决一下燃 ...
- MyBatis知多少(3)
解决存储过程固有限制的方法之一就是将SQL嵌入到更加通用的语言中去.与存储过程将业务逻辑移入数据库相反,内联SQL将SQL从数据库移入了应用程序代码.这就使得SQL语句可以直接与语言进行交互.从某种意 ...
- Delphi 10.1 Berlin Starter Edition
Delphi 10.1 Berlin Starter Edition Embarcadero® Delphi 10.1 Berlin Starter is a great way to get sta ...
- MyBatis自定义数据映射TypeHandler
从网上看到的帖子,感觉内容非常好,拷过来的(不愿意转载,不然被作者删除了,这么好的帖子就看不到了). 原文:http://my.oschina.net/amoshuang/blog/134199 在M ...
- 初用DataGrip,连接后看不到自己创建的数据库的问题
1.首先,成功连接数据库服务 2.可以看到默认连接到名为"larins_qr_db"的数据库 3.这时,我想看其它的数据库怎么办? 4.OK,想要的出现了!
- 网游中的网络编程3:在UDP上建立虚拟连接
目录 网游中的网络编程系列1:UDP vs. TCP 网游中的网络编程2:发送和接收数据包 网游中的网络编程3:在UDP上建立虚拟连接 TODO 二.在UDP上建立虚拟连接 介绍 UDP是无连接的,一 ...
- Cocos2d-x数据存储
分别是使用UserDefault,内置文件管理和sqlite3数据库的一般方式: 主要代码: bool DataScene::init(){ if (!Layer::init()){ return f ...