通过代码程序实现域密码与Domino密码同步
2013-12-23 12:17
274 查看
通过代码程序实现域密码与Domino密码同步
前两篇文章主要介绍了两个功能:1:域密码修改流程;2.web方式重置邮箱密码;今天主要介绍将这两个服务结合,实现域密码和domino密码同步;做法很简单,但是也有很多局限性;
公司环境,AD+Domino8.5.1
我们公司的人数比较多,大多数人员属于外派,而且经常不使用邮箱,偶尔用一下,但是经常使用erp系统,erp系统跟域是集成的;使用Domino8.5.邮箱也是使用最简单的Domino功能,通过outlook收发邮件,所以从功能上实现密码统一的难度很大。甚至有很多用户经常打电话及发邮件咨询那个是邮箱密码、那个是域密码的;最可恶的时候经常发邮件重置邮箱密码,重置一两次可以理解;我们重置后的新密码发给他们,然后用户后,不修改密码,直到忘记。所以我们就想到通过以下办法强制用户更改密码所需要的密码。
同时也为了达到密码的统一性,做法将两个程序关联起来;当用户通过链接更改完密码后,系统自动在后台自动运行邮箱密码重置链接,这样就达到的密码的统一性;具体见下:
为了保证密码同步的完整性,建议以下三个前提条件;
1.通过组策略禁用通过ctrl+alt+del更改密码选项
2.通过修改服务器配置禁用用户通过邮箱更改internet密码
3.强制用户在使用域密码的第一次必需更改密码
操作步骤:
1.创建Domino委派账户---changepwd,并将该用户添加到管理员组
2.将权限委派用户changepwd添加到web重置邮箱密码的数据库的ACL下
3.添加同步代码。
4.测试结果
一、首先创建邮箱密码重置用户;该账户主要用户程序来对用户密码重置工作;
创建changepwd;同时将该用户添加到Locadomainadmin(该组为domino下的管理员组)
然后修改web邮箱密码重置的数据库的访问控制:Chgupwd----应用程序---访问控制
该做法是让changepwd这个用户有权限对用户邮箱有重置密码的权限
将changepwd添加
将该用户委派---个人---管理者
添加后,修改域密码链接的代码:打开controller下的homecontroller.cs进行编辑:
添加以下代码进行保存;
保存完了,需要重新生成解决方案及发布,这样IIS的程序才生效。
同时将CURL程序放在代码程序服务器C盘的windows\system32
存放改程序,是为了执行以上代码
接下来进行测试:
我域内及Domino内都有一个user01的用户,现我将域内user01的密码修改成12345678,修改成功后,我们测试user01的Domino密码是否强制修改成12345678了
Domino下的user01的密码确实也被重置成12345678了,看来程序是生效的。
再试试domino邮箱别名,user01的邮箱别名testuser01,是否能正常验证呢:
验证通过
注:附件的程序格式为.7z;更改成.7z模板后才能正常解压及使用
本文出自 “高文龙” 博客,请务必保留此出处http://gaowenlong.blog.51cto.com/451336/1343951
前两篇文章主要介绍了两个功能:1:域密码修改流程;2.web方式重置邮箱密码;今天主要介绍将这两个服务结合,实现域密码和domino密码同步;做法很简单,但是也有很多局限性;
公司环境,AD+Domino8.5.1
我们公司的人数比较多,大多数人员属于外派,而且经常不使用邮箱,偶尔用一下,但是经常使用erp系统,erp系统跟域是集成的;使用Domino8.5.邮箱也是使用最简单的Domino功能,通过outlook收发邮件,所以从功能上实现密码统一的难度很大。甚至有很多用户经常打电话及发邮件咨询那个是邮箱密码、那个是域密码的;最可恶的时候经常发邮件重置邮箱密码,重置一两次可以理解;我们重置后的新密码发给他们,然后用户后,不修改密码,直到忘记。所以我们就想到通过以下办法强制用户更改密码所需要的密码。
同时也为了达到密码的统一性,做法将两个程序关联起来;当用户通过链接更改完密码后,系统自动在后台自动运行邮箱密码重置链接,这样就达到的密码的统一性;具体见下:
为了保证密码同步的完整性,建议以下三个前提条件;
1.通过组策略禁用通过ctrl+alt+del更改密码选项
2.通过修改服务器配置禁用用户通过邮箱更改internet密码
3.强制用户在使用域密码的第一次必需更改密码
操作步骤:
1.创建Domino委派账户---changepwd,并将该用户添加到管理员组
2.将权限委派用户changepwd添加到web重置邮箱密码的数据库的ACL下
3.添加同步代码。
4.测试结果
一、首先创建邮箱密码重置用户;该账户主要用户程序来对用户密码重置工作;
创建changepwd;同时将该用户添加到Locadomainadmin(该组为domino下的管理员组)
然后修改web邮箱密码重置的数据库的访问控制:Chgupwd----应用程序---访问控制
该做法是让changepwd这个用户有权限对用户邮箱有重置密码的权限
将changepwd添加
将该用户委派---个人---管理者
添加后,修改域密码链接的代码:打开controller下的homecontroller.cs进行编辑:
添加以下代码进行保存;
public static void changeDominoPwd(String sNewUserName, String sNewPwd) { String serverName = "iio-mail01"; String cookie = "%temp%/cookie.txt"; String system_username = "changepwd"; String system_passwd = "password8"; String str_login = "cmd.exe /c curl -c " + cookie + " -d \"%25%25ModDate=0FF5136000000000&Username=" + system_username + "&Password=" + system_passwd + "&RedirectTo=%2FChgUpwd.nsf%2Finternetpwd%3FOpenForm\" \"http://"+serverName+"/names.nsf?Login\" "; String str_changepwd = "cmd.exe /c curl -b " + cookie + " -d \"__Click=0&Form=internetpwd&Time=2013-12-18+19%3A47%3A48&CurLoginUser=CN%3D" + system_username + "%2FO%3Diiosoft&UserName=" + sNewUserName + "&UserPassword=" + sNewPwd + "\" \"http://"+serverName+"/ChgUpwd.nsf/internetpwd?OpenForm&Seq=1\""; Win32_Process win32 = new Win32_Process(); win32.CreateProcess(str_login); win32.CreateProcess(str_changepwd); }
保存完了,需要重新生成解决方案及发布,这样IIS的程序才生效。
同时将CURL程序放在代码程序服务器C盘的windows\system32
存放改程序,是为了执行以上代码
接下来进行测试:
我域内及Domino内都有一个user01的用户,现我将域内user01的密码修改成12345678,修改成功后,我们测试user01的Domino密码是否强制修改成12345678了
Domino下的user01的密码确实也被重置成12345678了,看来程序是生效的。
再试试domino邮箱别名,user01的邮箱别名testuser01,是否能正常验证呢:
验证通过
注:附件的程序格式为.7z;更改成.7z模板后才能正常解压及使用
本文出自 “高文龙” 博客,请务必保留此出处http://gaowenlong.blog.51cto.com/451336/1343951
相关文章推荐
- 通过代码实现web方式重置域密码及同步Domino密码
- 代码程序实现域密码和domino密码的统一性及权限控制和日志统计功能
- C#实现通过程序自动抓取远程Web网页信息的代码
- 实现同步PV操作模拟生产和消费的基本程序代码
- SSH 安全加固篇:通过“运维密码”小程序实现 SSH 双因子认证
- android程序代码实现改变字体颜色和输入密码的显示隐藏
- 编写代码实现,模拟用户登录情景,并且只能登录三次。 只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序。
- winform程序三个窗体间同步数据(五):接口实现多态减少代码(观察者模式)
- 通过密钥来实现无密码远程SSH登陆和自动同步
- C#实现通过程序自动抓取远程Web网页信息的代码
- SAE 平台代码实现数据库定时备份以及同步到本地 2014/09/11 09:39:01 分类: 技术随笔 1人评论 次浏览 SAE 只允许用户通过phpMyAdmin管理远程数据库,
- 编写代码实现,模拟用户登录情景,并且只能登录三次,只允许输入三次密码,如果密码正确则提示登录成功,如果三次均输入错误,则退出程序。
- 在xp中tc环境下实现的 销售管理系统(可切换繁体和简体,可设密码,可通过修改代码修改字体颜色)
- 微信小程序6位或多位验证码密码输入框功能的实现代码
- rsync 通过密码文件实现远程同步
- 在xp中tc环境下实现的 销售管理系统(可切换繁体和简体,可设密码,可通过修改代码修改字体颜色)
- rsync 通过密码文件实现远程同步
- 【asp.net 】使用js结合hidden控件实现在后台运行一段程序后提示确认,确认通过后继续执行后台代码~~~
- Gitee码云通过WebHooks实现自动同步代码部署
- 暴力破解密码模拟程序,模拟暴力破译密码实现程序代码