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

一、增强操作步骤

  1. tcode smod,”加强” 输入SUSR0001,”对象组件”选择”组件”,点击“修改”。
  2. 双击功能模块名”EXIT_SAPLSUSF_001″
  3. FUNCTION EXIT_SAPLSUSF_001中已有代码”INCLUDE ZXUSRU01″.在se80下,创建INCLUDE ZXUSRU01。
  4. 在ZXUSRU01中输入需要的代码
  5. 激活增强。在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.

四、注意

    1. 此增强只能拦截GUI登录,不能拦截RFC登录。我还没找到RFC登录的Exit?谁知道请指教一二。
    2. 增强只有激活后,才生效。操作见前面的步骤5.
    3. 建立ZXUSRU01后,可以直接双击FUNCTION EXIT_SAPLSUSF_001中的”INCLUDE ZXUSRU01″进入编辑

SAP中关于用户IP信息的获取(转载)的更多相关文章

  1. 基于SqlSugar的开发框架循序渐进介绍(6)-- 在基类接口中注入用户身份信息接口

    在基于SqlSugar的开发框架中,我们设计了一些系统服务层的基类,在基类中会有很多涉及到相关的数据处理操作的,如果需要跟踪具体是那个用户进行操作的,那么就需要获得当前用户的身份信息,包括在Web A ...

  2. .NET跨平台之旅:ASP.NET Core从传统ASP.NET的Cookie中读取用户登录信息

    在解决了asp.net core中访问memcached缓存的问题后,我们开始大踏步地向.net core进军——将更多站点向asp.net core迁移,在迁移涉及获取用户登录信息的站点时,我们遇到 ...

  3. 浅谈.NET(C#)与Windows用户账户信息的获取

    原文:浅谈.NET(C#)与Windows用户账户信息的获取 目录 1. 用户账户名称 - 使用Environment类 2. 用户账户信息 - 使用WindowsIdentity和IdentityR ...

  4. Oracle 中记录用户登录信息

    我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们 ...

  5. Ubuntu中设置静态IP和DNS(转载)

    原文地址:http://blog.sina.com.cn/s/blog_669421480102v3bb.html VMware 中使用网络,对虚拟机设置静态IP:在Ubuntu中设置静态IP共两步: ...

  6. Ecshop在模板中判断用户是否登陆,获取用户等级信息

    ecshop模板中smarty怎样判断用户等级.用户id.用户昵称用户名,请看以下方法,使用全局变量 <!-- {if $smarty.session.user_rank gt 1}--> ...

  7. django中向用户发送邮件信息

    发送邮件来让用户激活,因此,邮件中需要包含用户信息.但用户信息需要加密才可以.因此加密采用的是itsdangerous中的TimedJSONWebSignatureSerializer. 参考链接:h ...

  8. SAP 中的用户类型

    在使用 SU01 维护用户时,在登录数据选项卡中会要求选择用户类型,一般我们都选择第一项 Dialog,但是其他几个选项有什么作用呢?下面我们就一一解释. 对话用户顾名思义,就是需要通过 SAP GU ...

  9. 设置Cookie,登录记住用户登录信息,获取用户登录过得信息

    function setCookie(name,value) { var Days = 30; var exp = new Date(); exp.setTime(exp.getTime() + Da ...

随机推荐

  1. 理解RxJava:(四)Reactive Android

    在前三部分,我在通用层面介绍了RxJava的工作原理.但是作为一个Android开发者,如何在工作中使用它呢?下面是一些给Android开发者的RxJava的具体应用. RxAndroid RxAnd ...

  2. spring 启动流程

    AbstractApplicationContext 分析 启动流程 // Prepare this context for refreshing.prepareRefresh(); 1. // In ...

  3. Entity Framework访问MySQL数据库的存储过程并获取返回值

      一.创建MySql存储过程 1, CREATE PROCEDURE `InsertAlarmInfo`(in businessindex int, in providerindex int, in ...

  4. 笔记——Visual Studio 程序员箴言

    记录了一些感觉比较用得到的tips用于随时查看.要想看完整的的内容还是阅读<Visual Studio 程序员箴言>,不过有些内容我在新版本的VS里没能实现,或者有替代方案了. 避免意外复 ...

  5. 模拟MessageBox

    原文:<模拟MessageBox> Posted on 2014/01/07 ======================================================= ...

  6. C# DES加密解密用法

    主要用到C#提供的以下三个类:MemoryStream 内存流DESCryptoServiceProvider 加密服务提供者类CryptoStream 讲数据流连接到加密转换的流 下面是简易代码,已 ...

  7. ruby -- 问题解决(一)无法连接mysql数据库

     >rails g controller home index  运行该命令时无法连接mysql 先下载配置文件:mysql-connector-c-noinstall-6.0.2-win32. ...

  8. 编写高质量JS代码的68个有效方法(四)

    [20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...

  9. Java 集合系列09之 Map架构

    概要 前面,我们已经系统的对List进行了学习.接下来,我们先学习Map,然后再学习Set:因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过 ...

  10. sprint 1 2 3 贡献分

    本学期我们做的项目是商品和员工管理系统(茗仕茶业管理平台) 团队Github地址:https://github.com/LinWenFeng团队博客地址:http://www.cnblogs.com/ ...