我的应用程序中有一个HttpModule,它使用以下代码连接到FormsAuthenticationModule的身份验证事件:
public void Init(HttpApplication context)
{
FormsAuthenticationModule faModule =
(FormsAuthenticationModule)context.Modules["FormsAuthentication"];
faModule.Authenticate +=
new FormsAuthenticationEventHandler(faModule_Authenticate);
}
不幸的是,对context.Modules的调用失败了,因为应用程序需要在中等信任的环境中运行。有没有其他方法可以连接到这个事件中?
发布于 2009-01-10 20:39:08
这是一个困难的问题--您甚至不能从全局应用程序文件中访问Modules集合。
您可以尝试从全局中的AuthenticateRequest处理程序调用自定义代码:
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
// Call your module's code here..
}
您也不能从集合中获取自定义模块,因此您需要一个对模块库的静态引用。
除了在机器级别的web.config中向您的站点授予AspNetHostingPermission (as detailed for other permissions here)之外,我已经没有想法了!
https://stackoverflow.com/questions/431644
复制相似问题