我有一个 ASP.NET MVC 4 应用程序,它使用 CSLA.NET 作为我们业务逻辑的一部分。读/写权限由域帐户通过 AD 处理,该帐户与应用程序池标识和 .NET 模拟用户相同。在我的本地机器上测试时,验证运行良好。将应用程序部署到我们的一个测试环境(dev 或 qa)后,我会收到似乎指向权限的异常。我已验证程序集使用的用户名确实是正确的用户,但由于没有适当的权限,无法设置任何字段的值。
以前有人经历过这样的事情吗?
编辑:
我有一个 ASP.NET MVC 4 应用程序,它使用 CSLA.NET 作为我们业务逻辑的一部分。读/写权限由域帐户通过 AD 处理,该帐户与应用程序池标识和 .NET 模拟用户相同。在我的本地机器上测试时,验证运行良好。将应用程序部署到我们的一个测试环境(dev 或 qa)后,我会收到似乎指向权限的异常。我已验证程序集使用的用户名确实是正确的用户,但由于没有适当的权限,无法设置任何字段的值。
以前有人经历过这样的事情吗?
编辑:
Web 服务器是无状态的,因此它们通常不会记住页面或服务请求之间的任何内容。这包括用户的身份和角色。
如果您使用的是 ASP.NET 表单安全性(或类似的),则将使用 .NET authn cookie 令牌在服务器上自动重新创建用户名,但这只是用户名。
您负责在服务器上为每个回发/请求重新创建完整的主体/身份对象。
最简单的方法是在 global.asax 文件中,通常在身份验证请求事件中。CSLA 下载中的示例显示了如何执行此操作,我在“使用 CSLA 4”电子书系列中进行了讨论。
此外,任何好的 ASP.NET 书籍都将讨论恢复主体,因为这不是一个真正的 CSLA 问题,而是一个 Web 开发问题。