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 ...
随机推荐
- 理解RxJava:(四)Reactive Android
在前三部分,我在通用层面介绍了RxJava的工作原理.但是作为一个Android开发者,如何在工作中使用它呢?下面是一些给Android开发者的RxJava的具体应用. RxAndroid RxAnd ...
- spring 启动流程
AbstractApplicationContext 分析 启动流程 // Prepare this context for refreshing.prepareRefresh(); 1. // In ...
- Entity Framework访问MySQL数据库的存储过程并获取返回值
一.创建MySql存储过程 1, CREATE PROCEDURE `InsertAlarmInfo`(in businessindex int, in providerindex int, in ...
- 笔记——Visual Studio 程序员箴言
记录了一些感觉比较用得到的tips用于随时查看.要想看完整的的内容还是阅读<Visual Studio 程序员箴言>,不过有些内容我在新版本的VS里没能实现,或者有替代方案了. 避免意外复 ...
- 模拟MessageBox
原文:<模拟MessageBox> Posted on 2014/01/07 ======================================================= ...
- C# DES加密解密用法
主要用到C#提供的以下三个类:MemoryStream 内存流DESCryptoServiceProvider 加密服务提供者类CryptoStream 讲数据流连接到加密转换的流 下面是简易代码,已 ...
- ruby -- 问题解决(一)无法连接mysql数据库
>rails g controller home index 运行该命令时无法连接mysql 先下载配置文件:mysql-connector-c-noinstall-6.0.2-win32. ...
- 编写高质量JS代码的68个有效方法(四)
[20141129]编写高质量JS代码的68个有效方法(四) *:first-child { margin-top: 0 !important; } body>*:last-child { ma ...
- Java 集合系列09之 Map架构
概要 前面,我们已经系统的对List进行了学习.接下来,我们先学习Map,然后再学习Set:因为Set的实现类都是基于Map来实现的(如,HashSet是通过HashMap实现的,TreeSet是通过 ...
- sprint 1 2 3 贡献分
本学期我们做的项目是商品和员工管理系统(茗仕茶业管理平台) 团队Github地址:https://github.com/LinWenFeng团队博客地址:http://www.cnblogs.com/ ...