Hello,
Sur des fermes MPS4 et un access web nfuse 1.7 , quand nous creer un utilisateur via l’ad l’obligeant a change de mot de passe à la prochaine connexion , quand l’user se connecte :
ERREUR: Le mot de passe spécifié n’est plus valide. Vous devez modifier votre mot de passe lors de votre prochaine connexion
une soluce ??
Je ne crois pas que nf1.7 gere les password, soit tu passe en 2.x soit tu edit ton applist.asp pour refaire un change password comme sous nfuse 1.0. Pour exemple tu peux regarder ici: http://www.doctor-citrix.com/nfuse/rubrique44.html
Nous onb l’a fait via deux pages WEB ASP ;
L’un composé du formulaire de changement et l’autre avec le code suivant :
'Vérification de l’égalité des 2 nouveaux mots de passe
if request.form(“password1”)<>request.form(“password2”) then
response.redirect "changepwd.asp?erreur=Les deux noveaux mots de passe ne correspondent pas"
end if
’Chagement du mot de passe via ADSI
domain = Request.Cookies(“NFuseData”)(“NFuse_Domain”)
user = Request.Cookies(“NFuseData”)(“NFuse_User”)
set usero=getobject(“WinNT://” & domain & “/” & user & “,user”)
on error resume next
err.clear
usero.changepassword request.form(“password”), request.form(“password1”)
set usero = nothing
’Traitement des erreurs possibles lors du changement de mot de passe
Select case err.number
case -2147024810 message = "Ancien mot de passe incorrect"
case -2147022651 message = "Le nouveau mot de passe est trop court"
case -2147022987 message = "Vous avez fait trop d’erreurs, votre compte a été verrouillé"
case else message = “Erreur n°” & err.number & "
Veuiller contacter le SVP"
end select
’En cas d’erreur, redirection vers la page précédente et affichage du message d’erreur
if err.number<>0 then
response.redirect “changepwd.asp?erreur=” & message
end if
err.clear
on error goto 0
’Encryptage du nouveau mot de passe et stockage dans une cookie
Set app = Server.CreateObject(“com.citrix.nfuse.App”)
password = app.urlEncode(Request.Form(“password1”))
nfuseSessionKey = Session(“nfuseKeyString”)
nfuseEncryptedPassword = nfuseEncrypt(password)
Response.Cookies(“NFuseData”)(“NFuse_Password”) = app.urlEncode(nfuseEncryptedPassword)
set app = nothing
Function nfuseEncrypt(strCryptThis)
Dim strChar, iKeyChar, iStringChar, i
for i = 1 to Len(strCryptThis)
iKeyChar = Asc(mid(nfuseSessionKey,i,1))
iStringChar = Asc(mid(strCryptThis,i,1))
iCryptChar = iKeyChar Xor iStringChar
strEncrypted = strEncrypted & Chr(iCryptChar)
next
nfuseEncrypt = strEncrypted
End Function
’Le mot de passe a été changé avec succès
’Redirection vers la dernière page consultée
lastfolder=application(user & “_NFuse_LastFolder”)
if len(lastfolder)>O then
response.redirect “applist.asp?” & lastfolder
else
response.redirect "groupapplis.asp"
end if
%>
c’est quand meme plus simple de mettre WI 4.0 non ?
ok merci a tous, du coup on n’est passé à WI 4.0