我继承了一个使用表单身份验证的项目,但最近的一个功能请求要求我获取某些用户的 Windows 用户名。
这是一个使用表单身份验证的网站(我不想更改这一点,此时工作量太大)但我有一个功能请求,允许我们的内部用户更轻松地登录(通常无需输入他们的密码或用户名)。
我当前的方法是可怕的,它涉及检查 IP 地址以查看它们是否从我们的一个 IP 连接,如果是,则将它们重定向到使用 Windows 身份验证的单独项目,然后将它们重定向回原始页面包含他们用户名的查询字符串(如果我被迫继续使用这种方法,我可能需要对其进行加密,尽管它仍然没有我想要的那么安全)。
我可以在我的应用程序中相对轻松地执行 windows 身份验证,但困难的部分是获取 windows 用户名。我不知道该怎么做,因此我的方法很丑。
任何帮助将不胜感激。
编辑:我的辅助应用程序只是这样做:
string username = HttpContext.Current.User.Identity.Name;
string retpath = Request.QueryString["retpath"];
Response.Redirect("http://" + retpath + "?id=" + username);