2023-02-16 367
在测试中,我使用的dB上的用户是一个大的杰维.在生产中,他只执行.
当我打电话时,
Membership.DeleteUser(user)
在测试中,它工作.
我在生产中尝试相同,我得到这个:
delete语句与参考约束冲突
“fk__aspnet_us__useri__37703c52”.冲突发生在数据库中
“测试”,表”dbo.aspnet_usersinrools”,列’userid’列.
在我的seargles(在谷歌搜索)中,我遇到了这个 link
在哪里说,
错误:DELETE语句冲突
通过参考约束
“fk__aspnet_me__useri__15502e78”.这
数据库发生冲突
“yourdbname”,表
“dbo.aspnet_membership”,列
‘userid’.给我一段时间找到一个解决方案
这遍布多个站点和选项
作为错误和可能的解决方案
相当误导.结果,在
至少在我的情况下,这是一个问题
有关会员资格的权限
数据库.我正在使用的用户
连接有权查看
数据库中的会员详细信息
本身,但作为其中的一部分
aspnet_users_deleteuser存储
步骤选择它
sysobjects表.会员资格
连接用户显然没有
有足够的权利要这样做
选择所以整体删除失败.我的修复是将用户添加到
aspnet_membership_fullaccess角色
对于会员数据库.
但是当我这样做时,它没有工作.有人对如何处理此问题有任何想法?
一点检查后,我发现问题是aspnet_users_deleteuser存储过程中的这一行:
IF ((@TablesToDeleteFrom & 1) <> 0 AND
(EXISTS (SELECT name FROM sysobjects WHERE (name = N'vw_aspnet_MembershipUsers') AND (type = 'V'))))
3其他表有3个其他类似的线条.问题是,如果执行存储的proc的用户无法访问vw_aspnet_membershipusers,则从SysObjects选择时不会出现.我很想知道为什么整个存在的声明是必要的.
无论如何,以下讨论,”访问sysobjects以查看用户表而不直接在SQL Server安全中访问用户表”,有答案.通过在有问题的视图上授予”视图定义”,现在存在的语句现在将成功,并且您不必在应用程序的连接字符串中授予用户对用户的不需要的,不需要的或过度权限.
我也有这个问题,它是由缺失的视图引起的,纠正我刚刚使用另一个数据库的创建脚本并重新创建所有vw_aspnet_ *视图.
好的,猜猜是什么?我读到这一点:
http://forums.asp.net/t/1254087.aspx
确定,发送我的帖子后几分钟
我找到了解决方案:)事实证明
必须添加选择权限
对于ASPNET用户
vw_aspnet_membershipusers视图.但它仍然是我没有的神秘
有关缺乏的错误
允许.存在声明只是
返回false.
并给出了生产用户选择权限和voila!
有用!
谢谢家伙!
以上所述是小编给大家介绍的ASP.Net Membership.DeleteUser,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/33934.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日
扫码二维码
获取最新动态