Click here to Skip to main content
15,894,017 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I have used the credential tag in web.config file to authenticate my admin. now I want to know is there any way to make a page with a form for admin to change his username and password? this is my code in web.config:
XML
<system.web>
    <compilation debug="true" targetFramework="4.0" />
    <sessionState cookieless="AutoDetect" mode="InProc"  timeout="114400">
    </sessionState>
    <authentication mode="Forms">
        <forms timeout="1440" loginUrl="~/entrance_before_paying.aspx" defaultUrl="Admin/Default.aspx" name=".ASPXFORMSDEMO"  cookieless="AutoDetect" protection="All">
            <credentials passwordFormat="Clear">
                <user name="elmiragolshanff@yahoo.com"  password="elmira" />
            </credentials>
        </forms>
    </authentication>
</system.web>

I used this code in my sign in page to check if the user is admin or not:
C#
 private void enter()
     {
    if (FormsAuthentication.Authenticate(TextBox1.Text.Trim(), TextBox2.Text.Trim()))
    {
        FormsAuthentication.RedirectFromLoginPage("admin user name in credential tag", true);
    }
    else
    {
       // enter as a user}
    }
}
Posted
Updated 13-Feb-13 0:29am
v4

1 solution

ChangePassword.aspx
C#
<form ID="form1"  runat="server">
    <div>
        <asp:TextBox ID="txtUsername" runat="server">
        </asp:TextBox>
        <asp:TextBox ID="txtPassword" runat="server">
        </asp:TextBox>
        <asp:Button ID="btnWrite" runat="server" onclick="btnWrite_Click" Text="Modify" />
    </div>
</form>

ChangePassword.aspx.cs
C#
protected void btnWrite_Click(object sender, EventArgs e)
{
        Configuration webconfig = WebConfigurationManager.OpenWebConfiguration("~");
        SystemWebSectionGroup sysweb = (SystemWebSectionGroup)webconfig.GetSectionGroup("system.web");
        AuthenticationSection authSection = sysweb.Authentication;
        FormsAuthenticationUserCollection users = authSection.Forms.Credentials.Users;
        FormsAuthenticationUser user = users[0];
        user.Name = txtUsername.Text;
        user.Password = txtPassword.Text;
        webconfig.Save();
}

Note: Make sure to grant write permissions to web.config file and its parent folders otherwise you will get an exception "
System.InvalidOperationException: ConfigurationSection properties cannot be edited when locked
 
Share this answer
 
v2

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



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900