应用程序页面中的SQL访问问题

本文关键字:SQL 访问 问题 应用程序 | 更新日期: 2023-09-27 18:08:26

我有一个SharePoint-Feature连接到一个sql数据库。从这个(Site-)特性中,我可以访问DBMS,甚至创建一个新的数据库没有问题(使用Linq2sql)

但是在SAME项目的应用程序页面内,我甚至不能对刚刚创建的数据库做一个简单的LinQ-Query。

我收到错误"

用户"NT AUTHORITY'ANONYMOUS LOGON"登录失败

"

在调试代码时,我可以看到凭证(SPWeb.CurrentUser)都是相同的(并且根本不是匿名的)

功能事件接收器和应用程序页面使用相同的连接字符串(集成安全=true)

从这里的其他帖子我知道,使用sql登录而不是集成的安全可能帮助,但我很好奇为什么在事件接收器上一切都工作完美,但在应用程序页面上没有任何工作?

应用程序页面中的SQL访问问题

我以前有过这个问题,通常我可以在SPSecurity.RunWithElevatedPrivileges {块中运行我的SQL代码,它工作得很好。

请原谅我没有得到语言/原因精确正确,但我相信它在你的eventreceiver代码中运行良好的原因是因为代码是在一个不同的更受信任的上下文中执行的,而不是应用程序页面。别人可能会比我解释得更全面/更雄辩。