• 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:在获取用户名,不管用什么用户名登录,只能获取同一个用户名。

    原因:客户的域服务器跟部署网站的服务器不是同一个服务,而且域服务器只分配给部署网站的服务器一个用户名,用来登录域服务器,
    
             所以在获取的时候只能获取这个用户名 。
  • 相关阅读:
    前端
    前端
    数据库
    代码块
    装饰器
    函数 初识函数
    相识python --------文件操作
    相识python --------str字符串 int整形 bool布尔值 tu元祖 set()集合 dict 字典的数据补充
    【openstack报错】【因更新包而致】IncompatibleObjectVersion: Version 1.9 of Instance is not supported
    开博第一篇
  • 原文地址:https://www.cnblogs.com/ylzhang/p/6832090.html
Copyright © 2020-2023  润新知