gpt4 book ai didi

asp.net - 在 C# 中,如何将用户重定向到访问被拒绝错误的 aspx 页面?

转载 作者:行者123 更新时间:2023-12-02 02:07:42 24 4
gpt4 key购买 nike

我有一个 C# 上的 Web 应用程序,我指定了一些安全措施,只允许 3 个用户进入该网站:

<authentication mode="Windows"/>
<authorization>
<allow users="DOMAIN\john,DOMAIN\mary,DOMAIN\jesus" />
<deny users="*" />
</authorization>

看来该权限有效,因为他们可以进入,但其他登录的人无法进入(这没关系)。

现在的问题是如何捕获401.2错误,而不接触IIS,拦截访问被拒绝错误并将用户重定向到用户友好的aspx页面。

我尝试在 global.asasx Application_OnError 上添加一些代码,但它不起作用。

当用户未经授权时,如何将用户重定向到错误子文件夹,例如 /errors/AccessDenied.aspx 页面?

最佳答案

在 web.config 中添加自定义错误部分,例如

<customErrors mode="On" defaultRedirect="/ErrorPages/AppError.html">
<error statusCode="401" redirect="/ErrorPages/401-2.html" />
</customErrors>

如果这不起作用,您可以尝试在 Global.asax 中添加以下代码

PrivateSub Global_EndRequest(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMyBase.EndRequest
If Response.StatusCode = 401 AndAlso Request.IsAuthenticated = TrueThen
Response.ClearContent()
Server.Execute("~/ErrorPages/401-2.html")
EndIf
EndSub

关于asp.net - 在 C# 中,如何将用户重定向到访问被拒绝错误的 aspx 页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6331092/

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