ASP.NET Core Windows身份验证 - 仅接受本地管理员凭据
创始人
2024-09-15 16:00:19
0

在ASP.NET Core中,可以使用Windows身份验证来仅接受本地管理员凭据。以下是一个包含代码示例的解决方法:

  1. 首先,确保在Startup.cs文件中启用Windows身份验证中间件。在ConfigureServices方法中添加以下代码:
services.AddAuthentication(Microsoft.AspNetCore.Server.IISIntegration.IISDefaults.AuthenticationScheme);
  1. 接下来,在Configure方法中添加以下代码来配置身份验证中间件:
app.UseAuthentication();
  1. 在需要进行身份验证的控制器或方法上添加[Authorize]特性,以强制要求用户进行身份验证。

  2. 最后,可以使用[Authorize(Roles = "Administrators")]特性来限制只有具有"Administrators"角色的用户才能访问受保护的资源。

下面是一个完整的示例:

// Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;

namespace YourNamespace
{
    public class Startup
    {
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddAuthentication(Microsoft.AspNetCore.Server.IISIntegration.IISDefaults.AuthenticationScheme);
            services.AddControllersWithViews();
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }

            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthentication();
            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
    }
}

// HomeController.cs
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;

namespace YourNamespace.Controllers
{
    public class HomeController : Controller
    {
        public IActionResult Index()
        {
            return View();
        }

        [Authorize(Roles = "Administrators")]
        public IActionResult AdminOnly()
        {
            return View();
        }
    }
}

在上面的示例中,Startup.cs文件中的ConfigureServices方法启用了Windows身份验证中间件,并且控制器的AdminOnly方法使用了[Authorize(Roles = "Administrators")]特性来限制只有具有"Administrators"角色的用户才能访问。

请注意,这种方法要求应用程序运行在IIS上,并且IIS Windows身份验证功能已正确配置。

相关内容

热门资讯

透视教学(微扑克ai辅助工具)... 透视教学(微扑克ai辅助工具)pokerrrr2挂(详细辅助必备教程)本来真的是有挂,亲,有的,ai...
微扑克辅助挂!德州之星ai辅助... 微扑克辅助挂!德州之星ai辅助,(wePOke)都是存在有挂(详细辅助靠谱教程)1、让任何用户在无需...
透视透视(wepoke确实有挂... 透视透视(wepoke确实有挂)德扑之星隐藏功能在哪(详细辅助教你攻略)好像真的有挂1、构建自己的微...
德州之星辅助挂!约局吧是正规的... 相信很多朋友都在电脑上玩过德州之星辅助挂吧,但是很多朋友都在抱怨用电脑玩起来不方便。为此小编给大家带...
透视线上(智星德州菠萝开挂)德... 透视线上(智星德州菠萝开挂)德扑之星记分牌有什么用(详细辅助透明挂教程)原来有挂1、任何德州ai辅助...
微扑克辅助器ios!wpk透视... 微扑克辅助器ios!wpk透视,(wEPOKE)原来有挂(详细透视透明教程);(需添加指定Q群106...
透视科技(德州之星辅助)微扑克... 1、透视科技(德州之星辅助)微扑克算正规平台吗(详细辅助玩家教程)一直是有挂2、进入游戏-大厅左侧-...
wpk有透视辅助!德扑统计软件... wpk有透视辅助!德扑统计软件,(wepOke)先前有挂(详细透视AI教程);实战中需综合运用上述技...
透视辅助(wepoke一定有挂... 1、透视辅助(wepoke一定有挂)德州wpk有外挂吗(详细辅助2025新版教程)确实真的有挂;该软...
WPK透视辅助!微扑克辅助是真... 1、WPK透视辅助!微扑克辅助是真的吗,(智星德州)确实是有挂(详细辅助攻略教程);详细教程。2、W...