V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
uCharles
V2EX  ›  问与答

菜鸟来咨询一波, JSP 怎么获取域账号呢?

  •  
  •   uCharles · 2022-11-15 18:20:08 +08:00 · 666 次点击
    这是一个创建于 729 天前的主题,其中的信息可能已经有所发展或是发生改变。

    公司有个老系统,目前有个需求需要在一个 JSP 页面获取当前电脑登录人的域账号,无奈百度了一大堆无解,肯定各位大佬方便的话解惑一下

    8 条回复    2022-11-17 11:28:31 +08:00
    NewYear
        1
    NewYear  
       2022-11-15 18:47:55 +08:00
    jsp 在客户端这边是运行在浏览器上的吧,浏览器可没这么大权限给你。

    要不你写一个 exe 让用户安装,然后在客户端注册一个协议前缀,传个参数启动你的 exe (一般需要用户允许,自动是不可能自动的),并且 js 监听刚才那个参数在服务器上是否收到数据,exe 再把用户名+刚才的参数发送给服务器,浏览器从服务器获得数据,完美。

    或者单独做一个输入框,手工输入域帐号和密码,服务器做下检验。
    Foxkeh
        2
    Foxkeh  
       2022-11-15 19:16:09 +08:00
    需求有意思, 不过 JSP 在服务端, 服务端能直接拿到的应该是用户 IP 和 UserAgent, 以及 js 能获取到的属性
    如果是内网环境,可不可以把这个问题转变为通过 IP 或计算机名称判断当前登录用户帐号?
    或者篡改所有浏览器 UserAgent?
    额..我的思路也堵了, 坐等大侠
    ElegantOfKing
        3
    ElegantOfKing  
       2022-11-15 19:24:25 +08:00
    本想写一大段,想想算了。
    最简单的就是和 1 楼一样,用户自己输入账号密码做校验。
    如果你想无状态获取,目前来说基本不可能。或者你强制要求必须使用 IE ,那还有点希望。
    montaro2017
        4
    montaro2017  
       2022-11-16 08:59:34 +08:00
    不知道能不能用浏览器插件来实现
    uCharles
        5
    uCharles  
    OP
       2022-11-16 09:27:08 +08:00
    @NewYear
    @Foxkeh
    @ElegantOfKing
    @montaro2017

    感谢各位,我来和经理回复一下,不可行❤️
    NewYear
        6
    NewYear  
       2022-11-16 11:16:54 +08:00
    @Foxkeh 内网理想状态是每个电脑都有独立 IP ,但是实际上……如果中间夹了个路由器就不好说了……不过确实不失为一种具有可行性的方法,自动登记信息可以通过域控下发脚本实现。
    篡改 UA 的想法确实牛逼,但是能篡改 UA ,脚本请求个 URL 写个 cookie 应该是没问题的(或者直接写浏览器的配置文件 cookie 相关),配合油猴脚本插件还是很具有可行性的。
    或者下发个 http 服务器,在 web 中请求 127.0.0.1 ,如果是单用户系统,在登录时候刷新下相关文件,基本没啥毛病。


    @uCharles 请问你是开发还是 IT 运维人员?如果是开发一般还是能分得清浏览器权限和解决办法的,如果是运维可能没有相关技术栈的话,不太具有可行性。
    NewYear
        7
    NewYear  
       2022-11-16 11:22:32 +08:00
    @ElegantOfKing

    注册一个协议,传参数唤起一个 exe 其实是综合情况里最好的方案,甚至可以支持多用户同时登录的情况,没记错的话 20 多年前的 QQ 就是这样干的了。
    账号密码检验属于不太好的方案。
    企业环境的话下发一个 http 服务器,通过脚本实时更新登录在当前电脑的用户名,js 请求下 127.0.0.1 ,完全是可行的。但只能支持同时登录单用户的电脑。
    julyclyde
        8
    julyclyde  
       2022-11-17 11:28:31 +08:00
    你这的系统需要和 windows AD 集成才可以啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5354 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 53ms · UTC 06:58 · PVG 14:58 · LAX 22:58 · JFK 01:58
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.