1

我已使用 web.config 文件中的凭据标记来验证我的管理员身份。现在我想知道有什么方法可以制作一个带有表单的页面,供管理员更改用户名和密码?这是我在 web.config 中的代码:

<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>

我在登录页面中使用了此代码来检查用户是否为管理员:

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}
    }
}
4

2 回答 2

0

是的,你可以这样做

  <location path="Admin">
    <system.web>
      <authorization>
        <allow users="ram"/>
        <deny users="*"/>
      </authorization>
    </system.web>
  </location>

在 web.config 文件中使用上述代码。这将只允许用户“ram”访问“Admin”文件夹内。

于 2013-02-11T11:06:50.800 回答
0

我使用了这段代码现在它工作正常

<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>

在 ChangePassword.aspx.cs 中:

  protected void btnWrite_Click(object sender, EventArgs e)
   {
    Configuration webconfig = WebConfigurationManager.OpenWebConfiguration("/wite your site name");
    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();
    }
于 2013-02-13T11:32:01.227 回答