【Github】一个用于Active Directory的自助密码更改工具

在众多企业的日常运营中,Active Directory(AD)扮演着核心角色,负责管理和维护员工账户。然而,密码重置作为IT支持团队的常规工作之一,往往既耗时又繁琐。虽然一些商业解决方案和通过Windows服务器上RDS服务可以应对密码修改的需求,但这些方法可能带来额外的成本和局限性。在这种情况下,探索开源且免费的替代方案变得尤为重要,PassCore正是这样一种解决方案。

PassCore是一个基于Web的自助服务密码更改工具,它允许用户在Active Directory或LDAP环境中轻松地自行更改密码,前提是他们的账户未被禁用。这一工具由Unosquare开发,采用C#语言编写,并利用ASP.NET Core框架与Material UI(React组件)精心打造用户界面。PassCore的一个显著优势是其跨平台兼容性:它不仅能够在Windows和Linux服务器上运行,而且还支持通过Docker进行部署,这使得它能够在各种不同的操作系统和环境中灵活应用。

遗憾的是,PassCore项目的仓库在2023年6月2日被其所有者归档,目前只能读取,不再接受更改或贡献。尽管项目已归档,但其仍然是一个强大的自助密码修改工具,值得企业探索和利用,以优化其密码管理流程。以下将介绍如何在IIS中部署该项目

前提条件:

  1. 服务器已经加入Windows AD域
  2. 服务器上已经安装并且正常运行IIS
  3. 安装.NET Core 3.1 (SDK / HOSTING)
    地址: https://dotnet.microsoft.com/zh-cn/download/dotnet/3.1
    dotnet-sdk:https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-3.1.426-windows-x64-installer
    dotnet-hosting:https://dotnet.microsoft.com/zh-cn/download/dotnet/thank-you/runtime-aspnetcore-3.1.32-windows-hosting-bundle-installer

开始部署

  1. 下载PassCore

    下载地址:https://github.com/unosquare/passcore/releases

    建议下载PassCore423版本,PassCore424这边部署下来后有个问题,即使密码修改成功了,仍然后报错。

  2. 将上一步下载的压缩包解压到C:\PassCore或者其他合适的位置

  3. 打开IIS管理器,右击"应用程序池",选择"添加应用程序池"

  4. 在弹出的窗口中,在"名称"下输入PassCore Application Pool,在".NET CLR版本"下选择无托管代码,在"托管管道模式"下选择集成最后,勾选"立即启动应用程序池"。设置完所有后单击"确定"。

  5. 在刚刚创建的应用程序池上右击,然后选择高级设置...。将"启动模式"更改为始终运行,将"闲置超时(分钟)"更改为0。单击"确定"。这将确保PassCore在长时间不活动后仍能保持响应。

  6. 回到您的IIS管理器,右键单击"站点",然后选择"添加网站"。

  7. 弹出的对话框。在"站点名称"下输入PassCore。在"应用程序池"下单击"选择",并确保您选择了PassCore Application Pool。在"物理路径"下,单击省略号(...),导航到您提取PassCore的文件夹(步骤二解压的路径),修改端口号为8080

  8. 选择上一步新建的站点,点击右侧浏览网站浏览*:8080 (http)

  9. 成功部署,得到以下结果,但还不能正常使用,需要根据实际情况对配置文件进行配置。

  10. 配置文件位于步骤二解压的目录下的appsettings.json,可以根据自己实际情况修改配置,以下是这边测试的配置,仅供参考。

  11. 修改完配置文件后,至IIS管理器中重启站点,即可生效。如果一切设置正确,应该能够在浏览器中正常使用PassCore来完成自助修改AD密码了。
    重要:
    不要在没有SSL证书的情况下提供此网站到生成环境中,因为请求和响应将以明文传输,攻击者可以轻松检索这些消息并收集用户名和密码。

总结

PassCore旨在提供一个简单、易用且安全的解决方案,帮助组织管理用户的密码更改流程,同时减少IT支持团队的工作负担。由于其开源和免费的属性,它特别适合预算有限或希望节省成本的组织使用。开发者可以通过项目的GitHub页面下载源代码,并根据自己的需求进行定制和扩展。

参考:

A self-service password management tool for Active Directory

https://github.com/unosquare/passcore

相关推荐
LinXunFeng36 分钟前
Flutter - GetX Helper 助你规范应用 tag
flutter·github·visual studio code
草梅友仁2 小时前
AI 图片文字翻译与视频字幕翻译工具推荐 | 2025 年第 23 周草梅周报
开源·github·aigc
qianmoQ6 小时前
GitHub 趋势日报 (2025年06月04日)
github
abcnull7 小时前
github中main与master,master无法合并到main
git·github
星哥说事8 小时前
使用VuePress2.X构建个人知识博客,并且用个人域名部署到GitHub Pages中
开源·github
勤劳打代码9 小时前
步步为营 —— Github Connection refused 分层诊断
github
寻月隐君10 小时前
深入解析 Rust 的面向对象编程:特性、实现与设计模式
后端·rust·github
qianmoQ1 天前
GitHub 趋势日报 (2025年05月31日)
github
油泼辣子多加1 天前
2025年06月06日Github流行趋势
github
粥里有勺糖1 天前
视野修炼-技术周刊第122期 | 发光图片制作
前端·javascript·github