Notes用户还可自助改密码

大家好,才是真的好。

很多时候企业对员工的安全使用进行了硬性规定,例如严格的就是,每三个月或六个月要至少更改一次密码。

在Domino 8.5以后,功能上多了一个新特性,叫ID保险库,其实就是把用户的id标识符上传到该保险库中,进行id的集中存储和管理。

之后Domino 11版本中又多了一个新功能,就像你在帮助文档当中所看到的所有的web协议,所用到的internet密码都可以使用id保险库当中的id密码来进行验证:
在这里插入图片描述
这样的话我们只需要修改服务器上的id保险库里面的id密码,就可以实现用户的id标识服务、Internet密码(各种Internet协议使用的密码)一次性修改和同步。

从Domino 8.5版本开始,开发功能上多了一个功能叫NotesSession类的ResetUserPassword,例如下面的三行代码就可以实现用户自己在web网页上修改 id密码。

 Dim s As New NotesSession
Dim Doc As NotesDocument 
Call s.ResetUserPassword("", "", "password")

对的,只需要这三行代码,把它做成一个web代理,Notes用户登录到该网页上,就可以修改用户的当前密码为password。

现在我们来看一下具体实现。

打开Domino Designer设计客户机,按Ctrl+N键,弹出一个新建应用对话框,新建一个应用,服务器选择你自己的服务器,名字叫做reset password,点击确定按钮,如下图:
在这里插入图片描述
接着,新建一个表单,主要是一个新密码和确认密码字段,之后做一个按钮“重置我的密码”,里面写上公式运行一个代理“agtResetPassword”,效果如下图:
在这里插入图片描述
在这里插入图片描述
如果你如果需要设计表单的更好看,可以加更多html和css代码进行修饰,例如下图:

然后,在代理位置创建一个代理程序,名字叫做agtResetPassword,编程语言选择lotusscript:
在这里插入图片描述
是的,只有四行代码:

Dim s As New NotesSession
Dim Doc As NotesDocument 
Set Doc = Session.DocumentContext
Call Session.ResetUserPassword("","",Doc.newpassword(0))

效果如下:
在这里插入图片描述
为该代理设置运行属性:
在这里插入图片描述
尤其是安全性中要允许受限操作:
在这里插入图片描述
界面和代码设计完成后,还要设置该数据库的acl匿名者为无访问权限,-default-为编辑者或以上权限,如下图:
在这里插入图片描述
在测试验证效果之前,我们还得检查一下你自己的id保险库配置,因为刚才我们采用的某个用户,比如说admin来创建的修改密码代理,那么在保险库当中要设置该admin用户设置密码重置代理认证中心,如下图所示:
在这里插入图片描述
在这里插入图片描述
接着我们通过浏览器打开该重置密码应用,就可以登录到该页面当中来:
在这里插入图片描述
输入新密码,然后点击“重置我的密码”按钮:
在这里插入图片描述
输入一下新密码,我们就可以看到id保险库当中的密码已经变化了,你就可以用新的改动过的密码进行登录了:
在这里插入图片描述
开发一个新功能,是不是特别简单?

不过表单还是请稍微注意下布局,或者尽量给点样式,不说好看,最起码要不辣眼睛:
在这里插入图片描述
我们大体实现了定制的自助密码重置功能,不过里面还有很多细节需要细化一下,例如重置的页面要设计漂亮一点,点击重置密码按钮后,需要跳转到一个新页面上,等等。

不过我们这里碍于篇幅(实在不想写了,也怕你不看),今天就介绍到这里。更多文章可关注微信公号:协作者

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值