Skip to content
This repository was archived by the owner on Oct 6, 2019. It is now read-only.

Commit e6783f5

Browse files
Benvaladas
Ben
authored andcommitted
DNN-27517: add settings to control force logout after password changed function. (#939)
* DNN-27517: add settings to control force logout after password changed function. * Adjusted vertical margins among password switches * Fixed force logout tooltip text
1 parent a4ed977 commit e6783f5

File tree

4 files changed

+33
-4
lines changed

4 files changed

+33
-4
lines changed

Extensions/Content/Dnn.PersonaBar.Extensions/Services/Dto/UpdateMemberSettingsRequest.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,5 +54,7 @@ public class UpdateMemberSettingsRequest
5454
public int PasswordExpiry { get; set; }
5555

5656
public int PasswordExpiryReminder { get; set; }
57+
58+
public bool ForceLogoutAfterPasswordChanged { get; set; }
5759
}
5860
}

Extensions/Content/Dnn.PersonaBar.Extensions/Services/SecurityController.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -384,7 +384,8 @@ public HttpResponseMessage GetMemberSettings()
384384
Host.EnableStrengthMeter,
385385
Host.EnableIPChecking,
386386
Host.PasswordExpiry,
387-
Host.PasswordExpiryReminder
387+
Host.PasswordExpiryReminder,
388+
ForceLogoutAfterPasswordChanged = HostController.Instance.GetBoolean("ForceLogoutAfterPasswordChanged")
388389
}
389390
}
390391
};
@@ -421,6 +422,7 @@ public HttpResponseMessage UpdateMemberSettings(UpdateMemberSettingsRequest requ
421422
HostController.Instance.Update("MembershipDaysBeforePasswordReuse", request.MembershipDaysBeforePasswordReuse.ToString(), false);
422423
HostController.Instance.Update("PasswordExpiry", request.PasswordExpiry.ToString());
423424
HostController.Instance.Update("PasswordExpiryReminder", request.PasswordExpiryReminder.ToString());
425+
HostController.Instance.Update("ForceLogoutAfterPasswordChanged", request.ForceLogoutAfterPasswordChanged ? "Y" : "N", false);
424426

425427
return Request.CreateResponse(HttpStatusCode.OK, new { Success = true });
426428
}

Extensions/Content/Dnn.PersonaBar.Extensions/WebApps/Security.Web/src/components/memberManagement/index.jsx

Lines changed: 22 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ class MemberManagementPanelBody extends Component {
264264
</div>
265265
</InputGroup>
266266
<InputGroup>
267-
<div className="memberSettings-row_switch" style={{ margin: "0" }}>
267+
<div className="memberSettings-row_switch" style={{ margin: "0 0 20px 0" }}>
268268
<Label
269269
labelType="inline"
270270
tooltipMessage={resx.get("plEnableStrengthMeter.Help") }
@@ -283,7 +283,7 @@ class MemberManagementPanelBody extends Component {
283283
</div>
284284
</InputGroup>
285285
<InputGroup>
286-
<div className="memberSettings-row_switch" style={{ margin: "20px 0 20px 0" }}>
286+
<div className="memberSettings-row_switch" style={{ margin: "0 0 20px 0" }}>
287287
<Label
288288
labelType="inline"
289289
tooltipMessage={resx.get("plEnableIPChecking.Help") }
@@ -301,6 +301,25 @@ class MemberManagementPanelBody extends Component {
301301
onChange={this.onSettingChange.bind(this, "EnableIPChecking") } />
302302
</div>
303303
</InputGroup>
304+
<InputGroup>
305+
<div className="memberSettings-row_switch" style={{ margin: "0 0 20px 0" }}>
306+
<Label
307+
labelType="inline"
308+
tooltipMessage={resx.get("plForceLogOutAfterPasswordChanged.Help") }
309+
label={resx.get("plForceLogOutAfterPasswordChanged") }
310+
extra={
311+
<Tooltip
312+
messages={[resx.get("GlobalSetting")]}
313+
type="global"
314+
style={{ float: "left", position: "static" }} />
315+
} />
316+
<Switch
317+
onText={resx.get("SwitchOn")}
318+
offText={resx.get("SwitchOff")}
319+
value={state.memberSettings.ForceLogoutAfterPasswordChanged}
320+
onChange={this.onSettingChange.bind(this, "ForceLogoutAfterPasswordChanged") } />
321+
</div>
322+
</InputGroup>
304323
<InputGroup>
305324
<Label
306325
tooltipMessage={resx.get("PasswordConfig_PasswordExpiry.Help") }
@@ -371,4 +390,4 @@ function mapStateToProps(state) {
371390
};
372391
}
373392

374-
export default connect(mapStateToProps)(MemberManagementPanelBody);
393+
export default connect(mapStateToProps)(MemberManagementPanelBody);

Extensions/Content/Dnn.PersonaBar.Extensions/admin/personaBar/Dnn.Security/App_LocalResources/Security.resx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1156,4 +1156,10 @@
11561156
<data name="Check.Text" xml:space="preserve">
11571157
<value>[ Check ]</value>
11581158
</data>
1159+
<data name="plForceLogOutAfterPasswordChanged.Text" xml:space="preserve">
1160+
<value>Force Logout After Password Changed</value>
1161+
</data>
1162+
<data name="plForceLogOutAfterPasswordChanged.Help" xml:space="preserve">
1163+
<value>Force user logout in other browsers after the user's password has been changed.</value>
1164+
</data>
11591165
</root>

0 commit comments

Comments
 (0)