gpt4 book ai didi

asp.net - asp.net Web 应用程序中的 HTML 内容授权

转载 作者:行者123 更新时间:2023-11-28 03:42:36 24 4
gpt4 key购买 nike

我有一个同事用纯 html 和一点点 css 和 javascript 制作了一个网站。我有一项特殊任务是使用简单的登录表单来阻止此页面。我的同事将继续处理他的 html,但不允许他编写任何 asp.net 或在远程服务器上发布内容。

我是一名 asp.net 开发人员,我的第一个想法是将他的所有内容包含在名为“Content”的 Web 应用程序项目文件夹中。然后我制作了简单的登录表单 (login.aspx),并在 web.config 中放置了身份验证(使用 login.aspx 作为 loginUrl)和授权标签。之后我将整个项目发布到远程服务器,我将与该用户共享“内容”文件夹。他将有权访问所有 html 页面,并且能够继续处理它,只需将他更新的或新创建的 html 文件复制到该文件夹​​即可。

当我在 visual studio web 开发服务器上本地运行时,授权和身份验证的整个过程都很好。当我尝试访问一些存储在“内容”文件夹中的 html 内容时,我被重定向到 login.apsx,一切都按预期工作。

当我将这个完整的 asp.net web 应用程序发布到远程服务器时遇到问题。当我尝试访问相同的 html 内容时,我没有被重定向到 login.aspx,并且我可以访问“内容”中的所有 html 页面而无需身份验证。

这是我的 web.config 的身份验证和授权部分:

  <authentication mode="Forms">
<forms loginUrl="login.aspx"/>
</authentication>

<authorization>
<deny users="?"/>
</authorization>

这是我的 login.aspx.cs 的内容:

if (//USER WEB SERVICE CHECK)
{

if (Request.QueryString["ReturnUrl"] == null)
{
FormsAuthentication.SetAuthCookie(UserName.Text, true);
Response.Redirect("~/Content/index.html");
}
else
{
FormsAuthentication.RedirectFromLoginPage(UserName.Text, true);
}
}
else
{
FailureText.Text = "Wrong username or password...";
}
}

您是否知道如何使用 asp.net 完成此操作?为什么这个表单验证在我发布时不起作用?当整个内容发布时,是否可以阻止访问纯 html 内容作为 Web 应用程序的一部分?

我一直在我的 asp.net 项目中使用相同的原则,它在同一个远程服务器上工作得很好。我什至试图把它放在另一台服务器上,但我得到了同样的效果。

我的网络应用项目的结构如下:

ApplicationFolder
|
- login.aspx
|
- web.config
|
- CONTENT
|
- index.html
- ...

此外,我尝试将一些 aspx 内容放入 CONTENT 文件夹中,并且身份验证重定向工作得很好。甚至可以通过用户表单例份验证来保护 Web 应用程序中的 html 内容吗?

远程服务器使用 IIS 6,ASP.NET 运行时不处理 html 文件,因此表单例份验证不起作用。我已将 html 文件扩展名重命名为 aspx,一切正常。我现在对这个解决方案很满意,但是如果有人有更好的解决方案请写在这里...

我读到在 IIS 6 (http://forums.asp.net/t/1184547.aspx) 上有一个网站配置的解决方法,但我不允许在我的服务器上这样做。

最佳答案

我认为你最好检查服务器上那个应用程序的 IIS 设置,应该与你的本地有一些不同,你需要更改它。

关于asp.net - asp.net Web 应用程序中的 HTML 内容授权,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9381710/

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