我想将用户注册添加到我的网站,我需要创建管理用户的管理员。我正在使用 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
问问题
1767 次
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 回答