ASP.NET域集成AD身份验证

预期效果

  1. 如果使用域用户登录操作系统,然后访问网站,无须登录,直接进入网站。
  2. 如果使用非域用户登录操作系统,然后访问网站,弹出登录页面。

解决方案

ASP.NET项目

使用三个页面来模拟这个过程:Default.aspx、Index.aspx、Login.aspx

Default.aspx.cs中的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!this.IsPostBack)
    {
        string fullName = Page.User.Identity.Name;
        string[] domain = fullName.Split(‘\\‘);
        if (domain.Length>1 && domain[0] == "SJZX")
        {
            Session["name"] = domain[1];
            // 验证成功
            Response.Redirect("Index.aspx");
        }
        else
        {
            // 验证失败,跳转到LOGIN.aspx页面进行验证
            Response.Redirect("Login.aspx");
        }
    }
}

IIS设置

  1. 应用程序池托管管道模式改为经典,启用32位应用程序设为True。
  2. 将网站的身份验证方式改为Windows身份验证,其他方式全部禁用。

IE设置

  1. Internet选项->安全->自定义级别->用户验证->登录->自动使用当前用户名和密码登录。

注意事项

  1. 身份验证必须使用Windows身份验证,否则获取用户结果为空。
  2. IE设置为使用当前用户名密码自动登录,否则每次访问会弹出身份验证登录框。
时间: 2024-11-05 19:31:03

ASP.NET域集成AD身份验证的相关文章

上网行为管理AD域集成windos身份验证SSO单点登录

一.背景需求 在大型公司项目上会使用到AD域集成windos身份验证SS0单点登录,而不同用户有不同的环境,不同环境就会有不同的验证需求,使用微软AD域进行用户身份验证,会经常出现在客户的需求中. 二.网域上网行为管理集成windos身份验证功能. 什么是AD域集成windos身份验证了?就是基于windos系统的电脑端都需要加入到AD域或者这些没有加入到AD域的windos系统的电脑必须要通过AD域的用户验证信息才能上网.为什么大型企业需要windos身份验证?通过windos身份验证分配给每

Spring Cloud系列-Zuul网关集成JWT身份验证

前言 这两三年项目中一直在使用比较流行的spring cloud框架,也算有一定积累,打算有时间就整理一些干货与大家分享. 本次分享zuul网关集成jwt身份验证 业务背景 项目开发少不了身份认证,jwt作为当下比较流行的身份认证方式之一主要的特点是无状态,把信息放在客户端,服务器端不需要保存session,适合分布式系统使用. 把jwt集成在网关的好处是业务工程不需要关心身份验证,专注业务逻辑(网关可验证token后,把解析出来的身份信息如userId,放在请求头传递给业务工程). 顺便分享下

ASP.NET 中通过Form身份验证 来模拟Windows 域服务身份验证的方法

This step-by-step article demonstrates how an ASP.NET   application can use Forms authentication to permit users to authenticate   against the Active Directory by using the Lightweight Directory Access Protocol   (LDAP). After the user is authenticat

ASP.NET MVC:窗体身份验证及角色权限管理示例

ASP.NET MVC 建立 ASP.NET 基础之上,很多 ASP.NET 的特性(如窗体身份验证.成员资格)在 MVC 中可以直接使用.本文旨在提供可参考的代码,不会涉及这方面太多理论的知识. 本文仅使用 ASP.NET 的窗体身份验证,不会使用它的 成员资格(Membership) 和 角色管理 (RoleManager),原因有二:一是不灵活,二是和 MVC 关系不太. 一.示例项目 User.cs 是模型文件,其中包含了 User 类: public class User { publ

ASP.NET WebAPI 安全与身份验证 基础验证与非对称加密

因为安全需要,又没有申请HTTPS证书 只对密码进行了非对称加密 同时服务端验证了是否有证书 本文参考了: MSDN 13年6月的期刊(启用和自定义 ASP.NET Web API 服务的安全性 ):https://msdn.microsoft.com/zh-cn/magazine/dn201748.aspx 与园子里(C#使用RSA证书文件加密和解密示例):http://www.cnblogs.com/eshizhan/archive/2012/10/07/2713680.html 根据实际使

asp.net core 3.x 身份验证-2启动阶段的配置

注册服务.配置选项.添加身份验证方案 在Startup.ConfigureServices执行services.AddAuthentication() 注册如下服务(便于理解省略了部分辅助服务): services.TryAddScoped<IAuthenticationService, AuthenticationService>(); services.TryAddScoped<IAuthenticationHandlerProvider, AuthenticationHandler

asp.net mvc 最简单身份验证 [Authorize]通过的标准

[Authorize] public ContentResult Index2() { return Content("验证通过了"); } 经常能够看到某个Controler下的Action通过这个标签进行登录权限状态的校验,否则该Action不执行.但是满足什么条件才能通过Authorize这个过滤器的校验呢?答案:↓ public WebApiApplication() { PostAuthenticateRequest += WebApiApplication_PostAuth

ASP.NET中的Forms身份验证模式

Forms身份验证:通过应用程序设置的登录界面进行用户身份验证,若验证成功则调转到验证之前请求的url. 原理图: 原文地址:https://www.cnblogs.com/JDotNet/p/3451263.html

Asp.Net_Web身份验证

百度一下”asp.net身份认证“,你会得到很多相关的资料,这些资料通常上来就会介绍诸如”Form认证“”Windows认证“等内容,而没有给出一个完整的流程.初学者对此往往一头雾水,我也曾经被坑过很多回,于是写下此文,算是复习. 现代的Windows Server系统都是基于严格的用户机制的,当你想操作服务器时肯定需要账号密码验证的.当我们把开发好的Web应用程序部署在服务器后,用户通过浏览器访问该站点,实际上就是该用户通过HTTP操作这台服务器的过程,本质上也是用户操作服务器(至少是读)的过