web - 为简单的 golang web 应用程序添加 ldap 支持的简单方法是什么?

标签 web go ldap

我有一个用 golang 编写的内部工具,它有一个简单的 Web 界面,它只是一个网页。

现在我需要添加一个“使用 ldap 登录”功能,但对网络的了解不多,是否有类似“中间件”的东西,我可以简单地将其插入我的应用程序而无需引入整个“网络框架” ?

最佳答案

第一部分是用户体验 - 如果您使用 HTTP 基本身份验证,您可能可以避免编写任何代码,假设您的应用程序前面有一个网络服务器,大多数都支持身份验证。如果你想坚持下去,http.Request 使处理变得基本 pretty easy , 并且有很多方法可以将基于 net/http 的处理程序组合在一起,所以不要骑自行车了。

如果您需要一个集成的登录表单,那么您当然必须编写该逻辑,但您可以采用微服务风格的方法,并通过在内部调用基于 HTTP 基本身份验证的服务来实现该逻辑。如果您更喜欢使用通用的 LDAP 身份验证(例如 nginx/apache 模块或类似的东西),我认为这种方法是有意义的,但如果您想自己与 LDAP 服务器对话则不是。

至于实际凭据,如果您确实需要手动执行此操作,go 中有多个 LDAP 实现。我在 go-ldap 上取得了成功通过以管理员用户身份获取字段来验证绑定(bind)和遗留密码。

关于web - 为简单的 golang web 应用程序添加 ldap 支持的简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42319145/

相关文章:

http://vs http://www:我应该使用子域还是永久重定向

javascript - 这行Js代码到底是做什么的呢?

go - golang中 channel 缓冲容量为0和1的区别

go - 无法解码简单日期

node.js - 在 Node.js 上使用 Passport-ldapauth 的 LDAP 身份验证失败

sql-server-2008 - 从 sql server 2008 查询 AD 描述字段给出错误

tcp - DNS二级域名查询

mysql - 复杂的网络应用多线程测试(不加载)

golang tabwriter 格式不正确

go - 使用 goLang 的 LDAP 身份验证