zoukankan      html  css  js  c++  java
  • C# 在iis windows authentication身份验证下,如何实现域用户自动登录

    前言:
    该博文产生的背景是有个项目在客户那部署方式为iis windows身份验证,而客户不想每次登录系统都要输入帐
    号和密码来登录。因此需要得到域用户,然后进行判断该用户是否可以进入系统。

    解决方法:见如下代码。首先要说明下情况,我这边没有客户的环境,虽然自己也搞了个测试服务器,在发布项
    目时使用了windows身份验证,但是和客户那的环境还是不同。最终的结果就是取得的用户名永远是测试服务器
    的那台信息。在网上寻找资料时,看到的
    部分答案就是string userAcc = System.Web.HttpContext.Current.User.Identity.Name.Trim();来获取的,下面的
    代码加了一下其它的方法进去。

     string userAcc = System.Web.HttpContext.Current.Request.ServerVariables["LOGON_USER"].Trim();
                if (userAcc == "")
                    userAcc = User.Identity.Name.Trim();
      
                int len = userAcc.IndexOf('\', 0);
                userAcc = userAcc.Substring(len + 1, userAcc.Length - len - 1);
    

    在实际开发中遇到的问题

    1:在获取用户名,不管用什么用户名登录,只能获取同一个用户名。

    原因:客户的域服务器跟部署网站的服务器不是同一个服务,而且域服务器只分配给部署网站的服务器一个用户名,用来登录域服务器,
    
             所以在获取的时候只能获取这个用户名 。
  • 相关阅读:
    安装oh-my-zsh
    Ubuntu下安装2017版QQ
    Ubuntu安装Git
    链接libtorrent库时出现的问题
    ubuntu 下重装mysql若干问题
    最简单的epoll的使用范例 : 监听 标准输入 ,并将数据回显到终端
    [转]Linux下CodeBlocks的交叉编译
    各种免费素材下载站点
    Qt5:图片彩色键控,设置图片中指定颜色的像素为透明
    C++:预处理指令
  • 原文地址:https://www.cnblogs.com/ylzhang/p/6832090.html
Copyright © 2011-2022 走看看