0

我想将用户注册添加到我的网站,我需要创建管理用户的管理员。我正在使用 ASP.NET 的身份验证。我可以创建用户,在我的管理面板上Account/Register列出他们并删除 我需要有关管理员的帮助。如何创建 1 个管理员并确保没有人可以成为管理员,只能是简单的用户?用户在方法中的角色是什么?Membership.GetAllUsers()Membership.DeleteUser( username )Membership.CreateUser( model.UserName, model.Password, model.Email, null, null, true, null, out createStatus )Account/Register

4

1 回答 1

1

对于 MVC 帐户管理,我发现MembershipStarterKit非常有用。听起来您想要它非常支持的基于角色的身份验证。

您所指的Membership.CreateUser函数与管理员或基于角色的安全性无关,仅用于创建用户本身。

您可以使用 IIS .NET 用户工具,但因为它以 .NET 2.0 为目标,您需要围绕它进行一些配置才能使其正常工作。您需要创建一个新的 IIS 应用程序,它使用与实际应用程序相同的连接字符串。

该应用程序需要一个看起来像

<configuration>
  <connectionStrings>
    <add name="MyConnectionString" connectionString="same as my production application membership connection string" providerName="same as my production application provider" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="2880" />
    </authentication>
    <membership>
      <providers>
        <remove name="AspNetSqlMembershipProvider" />
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, EnablePasswordReset=true" connectionStringName="MyConnectionString" applicationName="/" />
      </providers>
    </membership>
    <roleManager enabled="true" defaultProvider="AspNetSqlRoleProvider">
      <providers>
        <clear/>
        <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="MyConnectionString" applicationName="/" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

当您使用此 webconfig 结构添加应用程序时,您需要确保使用的应用程序池使用 .NET v 2.0 集成管道(DefaultAppPool 应该可以工作)。

完成后,在这个迷你应用程序中,您将可以访问 .Net 用户功能,您可以在其中添加和编辑用户和角色。但是,这不如 MembershipStarterKit 有用。

于 2012-08-10T11:31:47.373 回答