求教:
现在要把从别的系统过来的用户同步到OA系统中,需要用代理把指定视图中的用户注册到OA的names.nsf库中,要求用户名、密码、能web下登录,创建邮件数据库。请教高人,急!!!
谢谢!
------解决方案--------------------
没做过,以前都是手工注册的,不知道有没有C API可以帮你完成这样的工作,帮你顶一下。
------解决方案--------------------
用NotesRegistration类下的RegisterNewUser方法可以实现,具体参考下帮助。
------解决方案--------------------
哪里网上说不能web下登录?BS下完全可以使用。给你一段函数,执行注册的:
Function RegUser(db,UserName,UserShortName,Company,HTTPPassword)
REM 获得系统变量
Dim ss As New notessession
cartfile =CertId(Company)
'获得认证文件
datapath = ss.GetEnvironmentString( "Directory ",True)+ " "
'获得文件所在的目录
Dim iddate As New NotesDateTime(Date)
Const QiXian = 100 '用户ID使用期限为100年
Call iddate.AdjustYear( QiXian )
Dim viewcm As NotesView
Dim doc As notesdocument
Set view=db.GetView( "(VwCM) ")
Set doc=view.getdocumentbykey(Company)
If Not( doc Is Nothing) Then
mailserver=doc.MailRegSer(0)
usercom=doc.ComShortNam(0)
mailtemplatenam=doc.MailTemplateNam(0)
End If
REM 定义认证属性
Dim newreg As New NotesRegistration
newreg.MailTemplateName=mailtemplatenam '继承设计模板
newreg.CertifierIDFile = cartfile '认证CART.ID文件
newreg.CreateMailDb = True '是否创建邮件数据库
newreg.Expiration = Datevalue(iddate.dateonly) 'ID文件的有效时间
newreg.IDType = ID_HIERARCHICAL '用户名称的层次结构
newreg.IsNorthAmerican = False '是否是北美用户
newreg.MinPasswordLength = 0 '最小密码长度
newreg.OrgUnit = " " '组织单元名称
newreg.OrgUnit= " "
newreg.RegistrationLog = "log.nsf " '日志记录数据库
newreg.RegistrationServer = mailserver '注册通讯录所在的服务器名称
newreg.StoreIDInAddressbook = False '决定是否在通讯录中保存ID文件
newreg.UpdateAddressbook = True '决定是否更新通讯录
REM 为注册用户必须输入赋值的变量
lastname = username '用户姓氏
idfile = "userid// "+usercom+ "/ "+username+ ".id " '用户ID文件
regserver = mailserver '用户邮件服务器名称
firstname = " " '用户名字
middle = " " '用户中间名
certpw = "password " '认证文件cart.id的密码
location = " " '保存在通讯录中域 "location "的内容
comment = "password " '保存在通讯录中域 "comment "的注释内容
maildbpath= "mail\ "+usercom+ "\ "+UserShortName+ ".nsf " '用户邮件数据库名称
fwddomain = " " '用户邮件网络域
userpw = HTTPPassword '用户密码
usertype = NOTES_DESKTOP_CLIENT '用户权限类型
%REM
用户类型:
NOTES_DESKTOP_CLIENT:没有开发设计和管理权利
NOTES_FULL _CLIENT :拥有全部权利
NOTES_LIMITED_CLIENT:仅拥有邮件收发权利
%END REM
On Error Goto on_error
Call newreg.RegisterNewUser(lastname, idfile, regserver , firstname , middle ,_
certpw ,location , comment ,maildbpath , fwddomain , userpw, usertype )
Messagebox "成功注册用户: "+username,64, "成功注册 "
reguser=SUCC
Exit Function
on_error:
flag= "注册失败! "& Err() & ": " & Error()
Call ReturnSub(SVRERR)
Msgbox "执行代理reguser出错:在第 "&Cstr(Erl())& "行出错,错误为 "+Error$
Messagebox "Error " & Err() & ": " & Error()
reguser=SVRERR
Exit Function
End Function
------解决方案--------------------
RegisterNewUser倒数第二个参数就是http登录密码!