自动以当前域用户身份登录

有很多企业的办公电脑是windows机器,用域管理是通常的管理方式,方便授权、软件安装,技术支持。
既然电脑加域了,用户又以域用户身份登录使用电脑,那么在访问内部网站时是不是可以不用输入账号密码,自动以当前域用户身份登录呢?
当然是可以的,不过“自动”二字需要在电脑上做以下配置,当然也可以做成AD的组策略对指定用户群体应用。
1 控制面板/Internet选项/安全/本地Intranet
2 站点/高级 将网站添加到该区域 关闭 确定
3 自定义级别/用户身份验证/登录/自动使用当前用户名和密码登录 确定
4 确定
电脑端这么配置后,使用谷歌chrome或者微软edge就没有什么需要进一步配置的地方了。
那么web服务器应该怎么配置才能识别用户当前身份呢?
先说个简单的场景吧 nginx + node&express ,需要再引入一个express-ntlm模块即可
当然你也可以不需要nginx,直接node express面向用户提供服务

const express = require("express");
const app = express();
const ntlm = require('express-ntlm');
...
app.get('/ntlm', ntlm({
	domain: domainname,
	domaincontroller: ldapserver
	}),(req, res)=> {
	let ntlmuser=req.ntlm["UserName"].toLowerCase();
	req.session.user={ userid:ntlmuser};
	//console.log(req.session.user)
	...
	})

虽然可以这样用

app.user(ntml({domain: domainname,domaincontroller: ldapserver}))

当时其实没有必要,而且ntlm认证总还有时间和资源开销的,建议仅认证时使用这个中间件,其他时候访问直接访问session检查用户了。
如果express直接面向用户提供服务,这样就可以了。
在nginx做反向代理发布的场景下,还需要在nginx.conf里配置下keepalive参数,确保ntlm认证期间,连接保持,而不被重置。

...
	upstream ntlm_stream {
		server webapp.corpname.com:3456;
		keepalive 1; 
		keepalive_requests 3;
		keepalive_timeout 3s;
	}
...
    location /sso/ntlm {
        proxy_pass http://ntlm_stream/ntlm;
        proxy_http_version 1.1;
        proxy_set_header Connection "";
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header Host $host;
        }

相关推荐

  1. 自动当前用户身份登录

    2024-07-22 15:06:07       17 阅读
  2. 【严重】GitLab 其他用户身份执行 Slack 命令

    2024-07-22 15:06:07       54 阅读
  3. 在Linux系统中,如何查看当前登录用户

    2024-07-22 15:06:07       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-22 15:06:07       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-22 15:06:07       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-22 15:06:07       45 阅读
  4. Python语言-面向对象

    2024-07-22 15:06:07       55 阅读

热门阅读

  1. Vue3如何实现响应式

    2024-07-22 15:06:07       20 阅读
  2. Dirb目录扫描器

    2024-07-22 15:06:07       18 阅读
  3. C. Mad MAD Sum(cf960)

    2024-07-22 15:06:07       17 阅读
  4. 【数据治理】数据治理:数据质量关键技术

    2024-07-22 15:06:07       18 阅读
  5. nginx虚拟主机配置项

    2024-07-22 15:06:07       17 阅读
  6. 在 CentOS 7 上编译安装 Python 3.11

    2024-07-22 15:06:07       14 阅读
  7. 算法学习3——搜索算法

    2024-07-22 15:06:07       17 阅读
  8. IaaS是什么的简称?关于IaaS的介绍

    2024-07-22 15:06:07       18 阅读
  9. [C++]——常见内存泄漏场景

    2024-07-22 15:06:07       16 阅读