首页 > 代码库 > ASP.NET域集成AD身份验证
ASP.NET域集成AD身份验证
预期效果
- 如果使用域用户登录操作系统,然后访问网站,无须登录,直接进入网站。
- 如果使用非域用户登录操作系统,然后访问网站,弹出登录页面。
解决方案
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设置
- 应用程序池托管管道模式改为经典,启用32位应用程序设为True。
- 将网站的身份验证方式改为Windows身份验证,其他方式全部禁用。
IE设置
- Internet选项->安全->自定义级别->用户验证->登录->自动使用当前用户名和密码登录。
注意事项
- 身份验证必须使用Windows身份验证,否则获取用户结果为空。
- IE设置为使用当前用户名密码自动登录,否则每次访问会弹出身份验证登录框。
ASP.NET域集成AD身份验证
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。