我想在我的网站上添加用户注册,我需要创建管理用户的管理员。我正在使用ASP.NET的身份验证。我可以使用Account/Register
创建用户,在我的管理面板上将其列为Membership.GetAllUsers()
,然后使用Membership.DeleteUser( username )
删除
我需要有关管理员的帮助。如何创建1个管理员并确保没有人可以成为管理员,只是简单的用户?
用户在Membership.CreateUser( model.UserName, model.Password, model.Email, null, null, true, null, out createStatus )
的{{1}}方法中的作用是什么?
答案 0 :(得分:1)
对于MVC帐户管理,我发现MembershipStarterKit非常有用。听起来你想要基于角色的身份验证,它支持得非常好。
您所指的Membership.CreateUser函数与基于管理或基于角色的安全性无关,仅用于创建用户本身。
您可以使用IIS .NET Users工具,但因为它针对的是.NET 2.0,您需要对其进行一些配置才能使其正常工作。您需要创建一个新的IIS应用程序,该应用程序使用与实际应用程序相同的连接字符串。
该应用程序需要一个类似于
的webconfig<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那样有用。