Click here to Skip to main content
Licence CPOL
First Posted 28 Dec 2008
Views 35,368
Downloads 268
Bookmarked 14 times

MOSS Change Password Feature for FBA

By Akrumooz | 28 Dec 2008
This feature enables a MOSS user to change his/her password when forms based authentication is enabled

1

2
1 vote, 9.1%
3
1 vote, 9.1%
4
9 votes, 81.8%
5
4.94/5 - 11 votes
1 removed
μ 4.75, σa 1.13 [?]

Introduction

This article explains how to make a change password feature in MOSS 2007, so the user can change his/her password. This article doesn't describe how to enable FBA (Forms Based Authentication) in MOSS that you can find easily in different blogs and articles in the internet. I suggest this article on The Code Project: MOSS 2007 – Enabling Forms Authentication [^].

Problem

When you enable forms authentication on MOSS, it means that users credentials are stored in membership database like ASP.NET database. MOSS doesn't facilitate the user to change his/her password in this database.

Solution

Our suggested solution is adding a new feature (Change Password feature) in the standard user menu:

The feature redirects the user to a custom page (ChangePassword.aspx) that prompts him to enter current and new passwords.

Solution Details

If you are not interested to walk through the solution, you can use the attached files and go directly to Part III Deployment. Actually I got the solution from Sheetal Jain's blog [^] but I added details and clarifications.

The following steps explain the solution in detail:

  1. Creating ChangePassword.aspx 
  2. Creating ChangePassword feature 
  3. Deployment

1. Creating ChangePassword.aspx

You can do it using Visual Studio by creating a new web site ‘TempSite’ and then:

  1. Adding a new web form ‘ChangePassword.aspx

  2. Dragging a ChangePassword control form the toolbox to the form

  3. Setting control effective properties like (NewPasswordRegularExpressionErrorMessage, CancelDestinationPageUrl, ContinueDestinationPageUrl)

  4. Applying MOSS master page, by setting ‘MasterPageFile’ page property to your selected master page in MOSS like ‘~/_layouts/simple.master’, then removing all HTML tags and adding content tag for the master page content place holder (PlaceHolderMain for the main content in the middle of the page). The final page should be like this page:

    <%@ Page Language="C#" MasterPageFile="~/_layouts/simple.master"  %>
    
    <asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server">
    <asp:ChangePassword id="myChangePassword" 
    	newpasswordregularexpressionerrormessage="Error: 
    	Your password must be at least 7 characters long, 
    	and contain at least one number and one special character."
    runat ="server" CancelDestinationPageUrl="~/pages/default.aspx"
    ContinueDestinationPageUrl="~/pages/default.aspx" >
    </asp:ChangePassword>
    
    </asp:Content>

2. Creating ChangePassword Feature

Before you start, here is a good tutorial for creating custom features in MOSS [^]:

  1. Create a new folder ‘ChangePassword’ and create a new XML file in it ‘feature.xml’:

    <?xml version="1.0" encoding="utf-8"?>
    <Feature  Id="FEAD7555-AE6D-45DD-8260-13B563CB4C71"
              Title="Change Password"
              Description="Change Password"
              Version="1.0.0.0"
              Scope="Site"
              xmlns="http://schemas.microsoft.com/sharepoint/">
    
    	<ElementManifests>
    		<ElementManifest Location="elements.xml" />
    	</ElementManifests>
    
    </Feature>
  2. Edit feature Id to a unique GUID, you can get it from guidgen in this path C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\guidgen.exe

  3. Edit feature Title, Description and Version as per your need

  4. Edit Scope property to be ‘Site’ or ‘Web’ to indicate if the feature is used per site or in the entire web

  5. In ElementManifest element, set Location property to an XML file location ‘elements.xml’ that contains more feature properties

  6. Create ‘elements.xml’ in the same folder with ‘feature.xml’ to be as:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    	<CustomAction 
    		Id="ChangePasswordMenuId" 
    		Title="Change Password" 
    		Description="Change your password" 
    		Sequence="2000" 
    		Location="Microsoft.SharePoint.StandardMenu" 
    		GroupId="PersonalActions" >
    		<UrlAction Url="~site/_layouts/changepassword.aspx"/>
    	</CustomAction>
    </Elements>
  7. Set CustomAction properties as shown, Location to be ‘StandardMenu’ and UrlAction URL property to be ‘~site/_layouts/changepassword.aspx’ as we are going to add our ChangePassword.aspx to this path.

3. Deployment

  1. Copy ‘ChangePassword.aspx’ file to the following path:
    C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\LAYOUTS\

  2. Copy ‘ChangePassword’ folder that contains elements.xml and feature.xml to the following path: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\FEATURES\

  3. Open stsadm tool and run the following command:

    stsadm -o installfeature -name ChangePassword 

Now the feature is installed successfully, but needs to be activated.

  1. Open your site, the select Site Actions - Site Settings - Modify All Site Settings.
    From the appeared page, select Site Collection Features (under the Site Collection Administration submenu):

  2. The new feature will be listed, Select Activate.

  1. Now you can find ‘Change Password’ action in the standard user menu:

    And this action redirects to changepassword.aspx page:

That is all. Thanks a lot!

Thanks

Many thanks to Ahmad Marwan Madkhana for his support.

History

  • 28th December, 2008: Initial post

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Akrumooz

Software Developer
LINKdotNET (http://www.link.net)
Egypt Egypt

Member
Akram Aly Mossa is an intermediate level software developer, gained many experiences in different fields (development is one of them), born in Egypt 1981, graduated from Al-Azhar university 2005,
and looking for a good future...

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
QuestionCan not change pass Pinmemberhoang45623:31 19 Jun '11  
GeneralMy vote of 5 PinmemberKaustubhWadi21:36 1 Dec '10  
GeneralCancelDestinationURL not working when multiple sites are created Pinmemberjoffies6:50 13 Aug '10  
AnswerRe: CancelDestinationURL not working when multiple sites are created PinmemberAkrumooz23:03 13 Aug '10  
GeneralRe: CancelDestinationURL not working when multiple sites are created Pinmemberjoffies23:49 15 Aug '10  
GeneralRe: CancelDestinationURL not working when multiple sites are created PinmemberAkrumooz2:15 16 Aug '10  
GeneralRe: CancelDestinationURL not working when multiple sites are created Pinmemberjoffies3:28 16 Aug '10  
GeneralRe: CancelDestinationURL not working when multiple sites are created PinmemberAkrumooz11:45 16 Aug '10  
QuestionMOSS Change Password Feature for FBA Pinmembersandeeppo22:31 29 Apr '10  
GeneralThank you Pinmemberbswamy1:11 31 Aug '09  
GeneralWorks Great, but one issue Pinmemberwbeach12:33 22 Jul '09  
GeneralRe: Works Great, but one issue PinmemberAkrumooz23:43 22 Jul '09  
GeneralRe: Works Great, but one issue Pinmemberwbeach5:57 23 Jul '09  
GeneralGreat article PinmemberYanick Nantchi19:09 23 Mar '09  
QuestionSSL on the change password aspx? Pinmembermrbello21:15 10 Mar '09  
GeneralChangepassword.aspx Pinmembersonashish6:54 9 Feb '09  
AnswerRe: Changepassword.aspx PinmemberAkrumooz18:36 9 Feb '09  
Generala question PinmemberShareP6:49 26 Jan '09  
AnswerRe: a question PinmemberAkrumooz18:54 26 Jan '09  
QuestionLooks really cool....but what am I missing Pinmemberjohnmcclain779:51 13 Jan '09  
AnswerRe: Looks really cool....but what am I missing PinmemberAkrumooz1:37 17 Jan '09  
GeneralExcellent Job PinmemberBrij19:40 1 Jan '09  
GeneralRe: Excellent Job PinmemberAkrumooz5:43 2 Jan '09  
GeneralGood work Pinmemberndarwish21:57 30 Dec '08  
GeneralRe: Good work PinmemberAkrumooz0:22 1 Jan '09  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120209.1 | Last Updated 28 Dec 2008
Article Copyright 2008 by Akrumooz
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid