加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby:获取当前在Windows上登录的用户

发布时间:2020-12-17 03:58:04 所属栏目:百科 来源:网络整理
导读:在C#中,我可以使用HttpContext获取Web应用程序的当前用户,但是,我无法弄清楚如何在 Ruby中执行此操作.有没有办法做到这一点? 对于你所说的那些是不可能的,以下证明: http://www.codeproject.com/KB/aspnet/How_to_NT_User_Name.aspx 解决方法 好吧,要获得
在C#中,我可以使用HttpContext获取Web应用程序的当前用户,但是,我无法弄清楚如何在 Ruby中执行此操作.有没有办法做到这一点?

对于你所说的那些是不可能的,以下证明:

http://www.codeproject.com/KB/aspnet/How_to_NT_User_Name.aspx

解决方法

好吧,要获得当前的用户名,就是:

puts ENV['USERNAME']

或者转到Win32API.

require 'dl/win32'

def get_user_name
  api = Win32API.new(
    'advapi32.dll','GetUserName','PP','i'
  )

  buf = "" * 512
  len = [512].pack('L')
  api.call(buf,len)

  buf[0..(len.unpack('L')[0])]
end

puts get_user_name

编辑:我是个白痴.这不是你要求的.哦,好吧,我花了很多时间从我的代码中挖掘出来,所以它也可能留在这里让其他人不知道:P

再次编辑:好的,事实证明我毕竟不是白痴.这就是你想要的.当我回去重新阅读你的问题时,HttpContext把我扔了,我认为这是来自HTTP auth的当前用户名.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读