我到目前为止所做的:
使用此web.config创建网站(这只是设置部分,而不是整个文件:))
<appSettings>
<add key="webpages:Version" value="3.0.0.0"/>
<add key="webpages:Enabled" value="false"/>
<add key="ClientValidationEnabled" value="true"/>
<add key="UnobtrusiveJavaScriptEnabled" value="true"/>
<add key="autoFormsAuthentication" value="false"/>
<add key="enableSimpleMembership" value="false"/>
</appSettings>
<system.web>
<compilation debug="true" targetFramework="4.6.2"/>
<httpRuntime targetFramework="4.6.2"/>
<authentication mode="Windows"></authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
创建了一个控制器:
[Authorize(Users = @"myPcName\myUserName,skynet\Simple")]
public class AuthenController : Controller
{
[Authorize(Users = @"myPcName\myUserName")]
public ActionResult ForAdministrator()
{
return View();
}
[Authorize(Users = @"myPcName\Simple")]
public ActionResult ForUser()
{
return View();
}
}
我通过以下命令获得了凭据:cmd-> whoami
它只会不断提示我输入凭据:
答案 0 :(得分:0)
只是为了尝试帮助遇到此问题的任何人: 解决问题的方法是: 单击VS中的项目。 按F4转到属性 将“匿名身份验证”设置为“禁用”
在web.config中:
<authentication mode="Windows"></authentication>
<authorization>
<allow users="*" />
</authorization>
并在您的控制器中:
[Authorize(Users = @"pcName\user")]
public ActionResult ForAdministrator()
{
return View();
}
// Authorization with windows authentication (user)
[Authorize(Users = @"pcName\user")]
public ActionResult ForUser()
{
return View();
}
其中pcName是您的PC的名称(不是WORKGROUP!)
通过这种方式,您可以控制允许谁访问(因为禁用了匿名身份验证)。
希望它可以帮助某人。 Rotem