Регистрация пользователей (RegisterNewUser)

D

dimat

Well-known member
31.07.2008
509
0
Всем привет!

Agent 'RegisterNewUser' error: Notes error: You are not allowed to update the certifier log (Имя пользователя)


Вот такую ошибку получаю в консоль при попытке зарегистрировать пользователя классом NotesRegistration агентом на сервере.
Подскажите: как исправить?

Код:
Dim nr As New NotesRegistration
nr.CertifierIDFile=certFilePath
nr.GroupList=pdoc.GetItemValue("Group")
nr.IDType=172
nr.IsNorthAmerican=False
nr.RegistrationLog="log.nsf"
nr.RegistrationServer=db.Server
nr.ShortName=UsrNameString
nr.StoreIDInAddressBook=True
nr.UpdateAddressBook=True
nr.MailSystem=REG_MAILSYSTEM_NONE
Call nr.RegisterNewUser(UsrNameString,IdFilePath,"","","",certPwd,"","","","",PswdString,175)
точно такой же код на клиенте работает без проблем
 
savl

savl

Lotus team
28.10.2011
2 249
136

when you register new users, do you select your local server as the registration server? If so, you should simply check the ACL of certlog.nsf and give yourself at least editor access.
и

 
D

dimat

Well-known member
31.07.2008
509
0
savl проверил права - для меня и для сервера они максимальные
 
VladSh

VladSh

начинающий
Lotus team
11.12.2009
1 508
54
Вот такое было.
Я бы по одной коментил строки, возможно ещё какая-то опция даёт эту ошибку.
 
D

dimat

Well-known member
31.07.2008
509
0
Вновь вернулся к решению проблемы регистрации пользователя на сервере.

Вобщем пользователь теперь регистрируется.
После того как указал RegistrationServer="".

Еще одна проблема появилась, вернее она появилась после обновления сервера до 8.5.3FP2HF25.

При регистрации пользователь не добавляется в группу указанную в параметре GroupList.
 
VladSh

VladSh

начинающий
Lotus team
11.12.2009
1 508
54
dimat
Это также не работает, вернее глючит (то добавляет, то нет, и не поёмёшь, от чего это зависит); и не только в 8.5.3. Я на это не рассчитываю, а добавляю после регистрации вручную.
 
D

dimat

Well-known member
31.07.2008
509
0
VladSh
Понял, Спасибо! Буду так же делать.
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
В строке Call nReg.RegisterNewUser(...) получил ошибку:

Notes error: The requested item does not exist (Chack)

Причем "Chack" - это первый параметр RegisterNewUser - LastName

Вообще не понимаю происходящего.
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
О! Накопал:


Server
"The requested item does not exist" error
You may see this error on your server console after using the CA process to add an Alternate Name to a user:
"Error processing certificate request: The requested item does not exist." This error only occurs if you try to recertify or register a user immediately after you add an Alternate Name to your CA Process-enabled certifier, and before the certifier has automatically refreshed its context.
Workaround
� At the server console, type
tell adminp process all
then
tell ca refresh
� If your CA Process-enabled Notes certifier has been locked with a user ID, you will need to unlock it using the following command:
te ca unlock <X:\user.id> <password>
Be sure to type the full path and file name of the ID file used to lock your CA and the ID's password when using
the unlock command. Type the following to verify that it is active again:
te ca status
� Next, open the Administration Requests database and go to the Certification Authority Requests/Certificate Requests view. Locate and open the rejected request. The request will have been rejected with the following rejection reason:
5935: unknown
� Click Edit Request -> Approve Request. The certificate should be successfully issued.



Убрал упоминания об альтернативных именах и языках и заработало.
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
тупо добавляю юзера в нужную АК, группу - через админпроцесс пинаю:
Код:
Sub Initialize
On Error Goto ErrH
Dim status
status=Split({Modifying groups...},{})
Set ses=New NotesSession
Set db=ses.CurrentDatabase
Set agent=ses.CurrentAgent
Dim noteid As String
noteid=agent.ParameterDocID
Dim doc As NotesDocument
Set doc=db.GetDocumentByID(noteid)
Dim adminp As NotesAdministrationProcess
Set adminp = ses.CreateAdministrationProcess(db.Server)
Dim members(0) As String, grps
members(0)=doc.GetItemValue(FULLNAME_FLD)(0)
grps=doc.GetItemValue(GROUPS_FLD)
ForAll grp In grps
noteid$ = adminp.AddGroupMembers(grp, members)
If Len(noteid)=0 Then
status=ArrayAppend(status, ERROR_TXT & CM_ERRADMINPGRPMOD & grp)
MsgBox status(UBound(status))
Else
status=ArrayAppend(status, CM_SUCCESS & grp)
End If
End ForAll
Quit:
If Not doc Is Nothing Then Call doc.ReplaceItemValue(STATUS_FLD, status): Call doc.Save(True, False)
Exit Sub
ErrH:
status=Arrayappend(status, RaiseErrorMsg)
Resume Quit
End Sub
я сторонник системных подходов, но в "неустойчивых" случаях - как-то руками :)
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
Применил указанный выше воркэраунд - всё заработало, даже шаблон почтовой базы стал принимать.
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
А можно ли заблокировать пользователя?
 
erdi

erdi

Well-known member
20.08.2008
264
17
создаешь группу с типом запрета доступа, в серверном документе выбираешь ее для запрета и все кто в этой группе находится - не пускаются на сервер
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
Имеется в виду кодом - есть ли какой метод, блокирующий юзера?
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
создаешь группу с типом запрета доступа, в серверном документе выбираешь ее для запрета и все кто в этой группе находится - не пускаются на сервер
А есть ли возможность кодом удалить оттуда юзера?
 
erdi

erdi

Well-known member
20.08.2008
264
17
можно....никто тебе не запрещает(кроме админа) взять группу, взять всех членов этой группы и либо удалить, либо добавить пользователя
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
Можете пример кода привести?
 
lmike

lmike

нет, пердело совершенство
Lotus team
27.08.2008
7 259
439
так былже пример, через админП
 
Shandrik

Shandrik

Well-known member
30.12.2010
275
16
Там же только добавление, это я сделал, а как удалить-то?
 
Мы в соцсетях: