我想将Forms Authentication [Feature Delegation]更改为"只读";在服务器级别使用powershell。我可以为窗口和匿名身份验证找到替代方案,但无法为窗体找到替代方案。有办法吗?
我已经尝试了这个命令:
Set-WebConfiguration /system.WebServer/Security/Authentication/formsAuthentication -metadata overrideMode -value Allow -PSPath IIS:/
我已经测试和研究,找到了原因,我不认为这是可能的改变FormsAuthenticationin功能委托通过powershell。
就像你所尝试的那样,我使用这段代码成功地将windowsAuthentication和basicAuthentication更改为只读或读/写。
$property = @{
Filter = "/system.webServer/security/authentication/windowsAuthentication"
Force = $true
PSPath = "IIS:/"
Value = "Allow"
Metadata = "overrideMode"
}
Set-WebConfiguration @property
当我尝试下面的代码,我得到一个错误。
$property = @{
Filter = "/system.webServer/security/authentication/formsAuthentication"
Force = $true
PSPath = "IIS:/"
Value = "Allow"
Metadata = "overrideMode"
}
Set-WebConfiguration @property
警告:目标配置对象'/system。在"MACHINE/WEBROOT/APPHOST"路径中找不到WebServer/Security/Authentication/formsAuthentication .
然后我试着在配置编辑器中寻找答案。这里没有FormsAuthentication。我尝试在applicationHost中添加FormsAuthentication(愚蠢的行为)到安全性。配置,它不工作。通过查阅官方文档,我找到了FormsAuthentication是一个ASP的解释。网络配置。像WindowsAuthentication和bisic这样的委托是IIS的特性。
所以,它可能是更好的手动更改表单认证直接读取/仅在IIS。如果有更好的建议,欢迎讨论。