簡體   English   中英

拒絕用戶 windows 認證 IIS 8.5

[英]Denying users in windows authentication IIS 8.5

我對 .NET 很陌生,我使用 Z60C05C632A2822A025487777 創建了一個簡單的 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")));
        });

您想要訪問的用戶是稱為“一些很酷的用戶組”的用戶組的一部分。

從那里,您可以使用授權屬性使用此策略保護您的路由和控制器:

[Authorize(Policy = "NewPolicy")]

進一步閱讀: https://chrissinty.com/securing-your-blazor-apps-configuring-policy-based-authorization-with-blazor/

除非絕對必要,否則我不建議擺弄 IIS web.config。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM