我想知道如何模拟控制器是用MVC3中的[Authorize]属性修饰的?我正在使用自定义会员提供商。我想测试控制器是否已经使用属性进行了修饰,并且您已获得授权,并且当您不是时,会发生什么。我正在使用Moq。对此有什么好的建议吗?!
更新: 我目前正在收到一个NullreferenceException,说“对象引用未设置为对象的实例”。这与此帖NullReferenceException while using Authorize Attribute
中提到的错误相同这与Authorize属性有关。我在iis下运行而不是使用cassini。有谁知道这是否与应用程序池和用户权限有关。在修复之前,我对authorize属性的测试不会起作用。
也许有其他方法可以测试Authorize属性?非常感谢。
UPDATE2 因此,经过我提到的同事的一些广泛的研究和调试帮助来解决[Authorize]属性的问题。看起来好像缺少web.config中的这一行:
<modules runAllManagedModulesForAllRequests="true">
奇怪的是,这并没有给另一个共享主干或测试环境的同事带来问题。这只会给我带来本地问题。这可能与GAC中的某些内容有关。无论如何现在都有效。
感谢。