gpt4 book ai didi

asp.net - 在 ASP.NET 中完全禁用表单例份验证

转载 作者:行者123 更新时间:2023-12-02 04:59:29 25 4
gpt4 key购买 nike

如何在 ASP.NET 应用程序中完全禁用 Forms 身份验证并将其替换为自定义身份验证模块?

我在 web.config 中将身份验证模式设置为 None

<authentication mode="None" />

并附上我自己的身份验证模块
  <add name="CustomAuthenticationModule" type="CustomAuthenticationModule, Auth"/>

我的自定义身份验证模块有
    application.AuthenticateRequest += new EventHandler(this.Application_AuthenticateRequest);
application.PostAuthenticateRequest += new EventHandler(this.Application_PostAuthenticateRequest);
application.AuthorizeRequest += new EventHandler(this.Application_AuthorizeRequest);

一切看起来都在工作,除了一件事......当我尝试访问安全页面时需要管理员角色
  <location path="SomePage.aspx">
<system.web>
<authorization>
<allow roles="Admin"/>
<deny users="*"/>
</authorization>
</system.web>
</location>

我的处理程序没有捕获 AuthorizeRequest 事件。相反,我的请求将返回到浏览器

Access is denied. Error message 401.2.: Unauthorized: Logon failed due to server configuration. Verify that you have permission to view this directory or page based on the credentials you supplied and the authentication methods enabled on the Web server. Contact the Web server's administrator for additional assistance



看起来其他处理程序处理了请求并返回未经授权的请求代码?我不是完全禁用了表单例份验证或错过了其他东西吗?

最佳答案

如果您没有或集成 Windows 身份验证,请尝试启用匿名身份验证。如果您使用匿名身份验证,请确保 IIS 正在运行。

此外,检查文件夹的属性并确保添加了权限。

关于asp.net - 在 ASP.NET 中完全禁用表单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18155983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com