我们使用ASP.NET配置文件子系统将键值对信息与用户相关联。
我正在实施删除用户的功能。
我一直在使用ProfileManager.DeleteProfile(string userName)
方法,但我注意到这会在我们用来存储配置文件信息的aspnetdb
数据库的aspnet_Users表中留下一行。
显然,我可以直接操作数据库,但我不愿意这样做。
确保从aspnetdb
删除与用户关联的所有信息的最佳方式是什么?
PS:有一个诱人的Membership.DeleteUser(string userName, bool deleteEverything)
方法,但这会返回数据库连接错误。一个web.config问题?
答案 0 :(得分:0)
将成员资格部分添加到web.config,链接到包含有效凭据的连接字符串(此处:“SqlServices”):
<membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="20">
<providers>
<remove name="AspNetSqlProvider" />
<add name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
passwordFormat="Hashed"
applicationName="/" />
</providers>
</membership>
确保aspnetdb数据库中的aspnet_SchemaVersions表包含行:
membership 1 true
然后您可以使用会员资格api(Membership.DeleteUser)。