Feedback
Did this article resolve your question/issue?

   

Article

Modifying Sitefinity's backend login page when using SWT

« Go Back

Information

 
TitleModifying Sitefinity's backend login page when using SWT
URL NameModifying-Sitefinitys-backend-login-page
Article Number000126159
EnvironmentProduct: Sitefinity
Version: 9.x, 10.x, 11.x, 12.x, 13.x
OS: All supported OS versions
Database: All supported Microsoft SQL Server versions
Question/Problem Description
How to modify Sitefinity's backend login page?
SecurityManager.AuthenticateUser() method not working on Sitefinity backend page.
SecurityManager.AuthenticateUser() method not working on Sitefinity backend login page.
 
Steps to Reproduce
Clarifying Information
When using the SimpleWebToken protocol in Sitefinity 10.x, the backend login page can be modified in Administration > Backend Pages. There is an existing limitation that the Login Page's login widget cannot be overridden or replaced with a custom widget.

When using the OpenId protocol, see article  Customizing backend login page when using OpenID
Error Message
Defect Number
Enhancement Number
Cause
SecurityManager.AuthenticateUser() is not intended to work on backend pages (~/Sitefinity/* routes) 
Resolution
The login page relies on an .ascx template which can be customized and mapped via a ViewMap. 

To do so:
1. Extract the attached CustomSTSLoginForm.ascx and place it on the root folder of the project
2. Customize the template as needed
3. Navigate to Administration > Settings > Advanced > Controls > ViewMap
4. Add a new Entry :

HostType: Telerik.Sitefinity.Security.Web.UI.StsLoginForm, Telerik.Sitefinity
LayoutTemplatePath: ~/CustomStsLoginForm.ascx

5. Restart Sitefinity

____________________________
If custom login logic is needed, a custom widget must be created, registered in Sitefinity and placed on a front-end page.

1. To hide the default login widget on Sitefinity's login page (~/Sitefinity):
1.1 Go to Administration > Backend Pages > Sitefinity > Login > Login
1.2 Click edit on the widget
1.3 Find the "Visible" field and set it's value to False - Do not delete the default widget
1.4 Publish the page

2. How to configure Sitefinity's front end login page:

2.1 If the site is in multisite mode:
2.1.1 Go to the Dashboard's upper left corner click the drop-down and then click "Manage Sites"
2.1.2 Click on the desired site
2.1.3 Under the Advanced tab find "Address for public users login"
2.1.4 Select the page where the login widget is placed
2.1.5 Save changes.
** This should be repeated for each site

2.2. If the site is not in multisite mode (disabled multisite module):
2.2.1 Go to Administration > Settings > Advanced > Project 
2.2.2 Find the current site - usually "DefaultSite"
2.2.3 In the FrontEndLoginPageUrl enter the URL of your front end login page (example: /login)
2.2.4 Save changes

 
Workaround
Notes
Reference to other documentation:
Sitefinity documentation, Creating a new custom widget https://docs.sitefinity.com/for-developers-create-a-new-custom-widget 
Sitefinity documentation, Develop widgets https://docs.sitefinity.com/feather-develop-widgets
 
Last Modified Date11/20/2020 7:13 AM
Attachment 
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.