Password experation

Paulo
Member Posts: 9
We would like our users to change their password every two months but Navision doesn't record the change date of the password.
Is there another way to check the password age?
Paul Olivier
Is there another way to check the password age?
Paul Olivier
Paul Olivier
0
Comments
-
I think this must be programmed. I think this must be programmed. Insert a Date-Field into the User-Table and let the field updated if you change the Password by Validate-Trigger. Modify then the Codeunit 1 in the procedure "LoginStart" and check the validity of the Password.
Its only an advise!
Stefan0 -
The problem is that you cannot change table 2000000002
Paul OlivierPaul Olivier0 -
Paulo
table 2000000002 can be changed by an NSC Developer with a Solution Developer licence, if you are an end user ask your NSC to do the changes for you.
Some simple code in the OnValidate trigger for the password
Password - OnValidate()
IF Password <> xRec.Password THEN BEGIN
// Blank not allowed
TESTFIELD(Password);
"Date Password Changed":=CALCDATE('1M',TODAY);
END;
then as suggested a warning in codeunit 1 when the users password is due to expire.
// DSC 20/02/01 Start Check User Password must not Error....
IF User.GET(USERID)AND(User."Date Password Changed"<>0D)THEN BEGIN
IF LogInDate > User."Date Password Changed" THEN
MESSAGE(''WARNING Your Password has expired contact\'+
'your Systems Administrator to Update your Password');
IF User."Date Password Changed" - LogInDate+1 < 7 THEN
MESSAGE('WARNING Your Password will expire in %1 days Contact\'+
'your Systems Administrator to Update your Password',User."Date Password Changed"-LogInDate+1);
END;
// DSC 20/02/01 END....
MindSource (UK) Limited
Navision Service Partner
david@mindsource.co.uk
info@mindsource.co.uk0 -
I implemented the suggested solution . I have an additional problem / question. When an enduser changes his/her password, he will use the standard navision option (menu - tools - security - password). This form will not trigger a validation on the field Password in table 2000000002 . With a NSC licence I am not authorised to changes this form.
When an end user changes his password, I would like to change my new field User."Date Password Changed" automatically. To make a new form to change the password is no option because the standard navision option to change the password can not be hidden.
Has anybody some suggestions ?
Greetings,
Andre - Almere (NL)Dave Cox wrote:Paulo
table can be changed by an NSC Developer with a Solution Developer licence, if you are an end user ask your NSC to do the changes for you.
Some simple code in the OnValidate trigger for the password
Password - OnValidate()
IF Password <> xRec.Password THEN BEGIN
// Blank not allowed
TESTFIELD(Password);
"Date Password Changed":=CALCDATE('1M',TODAY);
END;
then as suggested a warning in codeunit 1 when the users password is due to expire.
// DSC 20/02/01 Start Check User Password must not Error....
IF User.GET(USERID)AND(User."Date Password Changed"<>0D)THEN BEGIN
IF LogInDate > User."Date Password Changed" THEN
MESSAGE(''WARNING Your Password has expired contact\'+
'your Systems Administrator to Update your Password');
IF User."Date Password Changed" - LogInDate+1 < 7 THEN
MESSAGE('WARNING Your Password will expire in %1 days Contact\'+
'your Systems Administrator to Update your Password',User."Date Password Changed"-LogInDate+1);
END;
// DSC 20/02/01 END....
MindSource (UK) Limited
Navision Service Partner
david@mindsource.co.uk
info@mindsource.co.uk0 -
It should trigger onModify - so put it there.0
-
Switch to windows authentication and enforce by group policy.
IMHO it is the only way to go that works long term.
:idea: try this article
http://www.devx.com/security/Article/215220 -
It is not a good solution but any way, it must work.
Add new fied an every time user starts application, compare these two values.
For example
IF UserPasswords.Password <> UserPasswords."Old Password" THEN BEGIN
UserPasswords."Last Date Modified" := TODAY;
UserPasswords."Old Password" := UserPasswords.Password;
UserPasswords.MODIFY;
END;
So you will always have a last modification date.
Do not forget to set correct properties for field "Old Password"0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions