2023-02-16 316
我正在使用asp.net sql成员资格提供程序.因此,有一个aspnet_Users表,其中包含每个用户的详细信息. (实际上,aspnet_Membership表似乎包含大多数实际数据).
我现在想在我的数据库中存储一些每用户信息,所以我认为我只需用UserId(guid)列和fk关系创建一个新表和与aspnet_Users.但是,我发现我无法轻易地访问UserId,因为它没有通过成员资格API暴露. (我知道我可以通过ProviderUserKey访问它,但它似乎是API摘录了内部UserID支持UserName,我不想靠谷物太远).
所以,我以为我应该在我的表中放置一个LoweredUserName列,并使用它创建与aspnet_Users的fk关系. Bzzzt.再次错误,因为在中有一个唯一的索引,因为包括 LoweredUserName,它还包括ApplicationId – 因此,为了创建我的FK关系,我需要在我的表中也有一个ApplicationId列.
起初我想:很好,我只是处理一个应用程序,所以我只需添加这样的列并给它一个默认值.然后我意识到ApplicationId是一个GUID,所以这是一个痛苦的事情.不是硬,但直到我推出我的dB,我无法预测GUID将是什么.
我觉得我错过了一些东西,或者穿着错误的方式.我是什么样的要做?
我想你正在寻找profileprovider,让您让您与用户所希望的任何任意信息相关联.
ASP.NET个人资料属性概述
加法如果内置profileProvider无法满足您的需求,那么您可能会考虑通过编写来自System.Web.Profile.ProfileProvider的类来实现自己的ProfileProvider.这将使您能够编写一些避免您在评论中提到的序列化问题的东西.
实现配置文件提供程序
加法关于sqlmembershipprovider的注意事项.即使架构键入UserID,您也确实正确地正确地键入用户名键入用户名.这是我坦率的一个关于SQLMEMBERSHIPPROVIDER类的PEEVES之一.这实际上在您希望单个用户存储但独立的应用程序角色列表中的多应用程序环境中会在多应用程序环境中创建问题.
我的建议将是键入UserID,因为您如上所述,ASPNet_Users表的主键并在所有外部密钥关系中使用,并且它是单个值.如果您在LowerUnName(和ApplicationId)上键,并且用户名更改,则需要启用级联更新,以便将更改纹波到您的自定义表.
要执行此操作,您可以实现配置文件提供程序.它不是很困难.您将基本设置如下所示的用户特定设置:
(web.config):
<profile enabled="true" defaultProvider="MyProvider">
<providers>
<add name="MyProvider" connectionStringName="MembershipCnnStr" applicationName="MyApp" type="System.Web.Profile.SqlProfileProvider"/>
</providers>
<properties>
<add name="EmployeeId" type="String" />
<group name="UserSettings">
<add name="IsSandboxMode" type="Boolean" defaultValue="false" />
<add name="Shortcuts" type="System.Collections.Generic.List`1[System.string]" />
</group>
</properties>
</profile>
如果您正在查看添加到您的用户的简单数据,例如添加的配置文件属性,则应调查个性化.
示例,如果您想将一个人的母亲的婚前姓名作为其配置文件信息的一部分,您可以使用此功能.
它可能不是复杂数据的正确选择,但它是一个开始.
以上所述是小编给大家介绍的使用ASP.NET SQL会员提供者,我如何存储自己的每个用户数据?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33949.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态