ASP.NET 用户名更改
我有一个使用 ASP.net 会员资格提供程序的 ASP.NET 站点。 数据库中的每个评论、条目等均由用户 ID 跟踪。
由于MS没有提供更改用户名的方法,因此我在数据库的“users”表中找到了userNAME,并且只有1个地方出现了用户名。
我的问题是,
提供允许用户编辑自己的用户名的“编辑个人资料”页面是否安全。 当然,我会通过直接更改数据库中的“用户名”值来在后台处理此更改。
这有什么缺点吗? 我创建并修改了一些测试帐户,似乎没问题,我只是想知道在将其投入生产之前是否有任何已知的负面影响。
I have an asp.net site which uses the ASP.net Membership provider. Each comment, entry etc in the DB is tracked by the userID.
Since MS doesn't provide a way to change the username, I've found the userNAME in the "users" table in the DB and there is only 1 place where the username appears.
My question is,
Is it safe to provide an "edit profile" page where the user is allowed to edit their own username. Of course i would handle this change in the background by directly changing the "username" value in the DB.
Are there any downsides to this ? I've created and modified some test accounts and it seems to be fine, i am just wondering if there is any known negatives to this before putting it into production.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
cptScarlet 的链接很好,但是如果不需要的话,我鄙视使用存储过程,并且只要有可能我就喜欢实体框架。 以下是我使用 EF 4.0 和 .NET 4.0 更改用户名所做的操作:
现在您可以添加代码来创建 EF 对象上下文并修改数据库:
注意:我没有在我的应用程序 ID 中考虑应用程序 ID。代码。 我通常只有一个应用程序使用 ASP.NET 成员资格数据库,因此如果您有多个应用程序,则需要考虑到这一点。
cptScarlet's link was good, however I despise using stored procedures if I don't have to and I favor Entity Framework whenever possible. Here's what I did to change the user name, using EF 4.0 and .NET 4.0:
Now you can add code to create the EF object context and modify the database:
Note: I did not account for application ID's in my code. I typically only ever have one application using the ASP.NET membership database, so if you have multiple apps, you'll need to account for that.