在 windows 身份验证 IIS 8.5 中拒绝用户
Denying users in windows authentication IIS 8.5
我是 .NET 的新手,我使用 Razor 创建了一个简单的 asp.net 核心 Web 应用程序。我在我的 IIS 8.5 中成功发布了它。每次用户想要访问我公司网络中的页面时,我都会启用 windows 身份验证。但是我想限制对网络中除少数用户之外的所有用户的访问。我尝试按如下方式修改我的 web.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Deny" users="*" />
<add accessType="Allow" users="Alice,Bob" />
</authorization>
</security>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Autentificacion.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
访问该网站后,要求用户输入他们的 windows 用户凭据,但网络中的任何用户都可以访问该网站,而不仅仅是 Alice 或 Bob。我需要更改 IIS 配置吗?
您想查看授权政策。
services.AddAuthorization(options =>
{
options.AddPolicy("NewPolicy", policy =>
policy.RequireAssertion(context =>
context.User.IsInRole("Some cool user group")));
});
您想要访问的用户是名为“Some cool user group”的用户组的一部分。
从那里您可以使用授权属性通过此策略保护您的路由和控制器:
[Authorize(Policy = "NewPolicy")]
除非绝对必要,否则我不建议摆弄 IIS web.config。
我是 .NET 的新手,我使用 Razor 创建了一个简单的 asp.net 核心 Web 应用程序。我在我的 IIS 8.5 中成功发布了它。每次用户想要访问我公司网络中的页面时,我都会启用 windows 身份验证。但是我想限制对网络中除少数用户之外的所有用户的访问。我尝试按如下方式修改我的 web.config 文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<location path="." inheritInChildApplications="false">
<system.webServer>
<security>
<authorization>
<remove users="*" roles="" verbs="" />
<add accessType="Deny" users="*" />
<add accessType="Allow" users="Alice,Bob" />
</authorization>
</security>
<handlers>
<add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
</handlers>
<aspNetCore processPath="dotnet" arguments=".\Autentificacion.dll" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" hostingModel="inprocess" />
</system.webServer>
</location>
</configuration>
访问该网站后,要求用户输入他们的 windows 用户凭据,但网络中的任何用户都可以访问该网站,而不仅仅是 Alice 或 Bob。我需要更改 IIS 配置吗?
您想查看授权政策。
services.AddAuthorization(options =>
{
options.AddPolicy("NewPolicy", policy =>
policy.RequireAssertion(context =>
context.User.IsInRole("Some cool user group")));
});
您想要访问的用户是名为“Some cool user group”的用户组的一部分。
从那里您可以使用授权属性通过此策略保护您的路由和控制器:
[Authorize(Policy = "NewPolicy")]
除非绝对必要,否则我不建议摆弄 IIS web.config。