我有一个托管在 Azure 中的静态站点(即所有 html 文件,没有 .Net 项目)。我正在尝试用密码保护这个网站。我读过我可以创建一个自定义授权模块,我已经完成了,但我无法安装它,因为我需要运行 appcmd.exe 命令来允许编辑 web.config 的正确位。
任何一个; 如何使用密码保护静态 Azure 站点,或者如何在没有 Visual Studio 项目的情况下利用 ServiceDefinition.csdef 的功能?
在管理门户上,您可以配置您的站点需要使用凭据。如果使用此方法,则通过 Azure 门户管理凭据。
您可以使用Forms Authentication,它应该很容易实现并且不需要任何启动任务(运行 appcmd.exe 所必需的)。
将您的应用程序设置为在 web.config 中使用表单身份验证。
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="/myadminlogin.aspx" protection="All" path="/" timeout="120" />
</authentication>
在 web.config 中定义受保护的文件夹。
<location path="secure">
<system.web>
<authorization>
<deny users="?" />
</authorization>
</system.web>
</location>
在您的登录区域中检查条件并设置身份验证 cookie:
'SET AUTH COOKIE
FormsAuthentication.SetAuthCookie(sessionID, False)
response.redirect(/secure/securearea.html)
不幸的是,这是您需要一些服务器端代码的一页。