检索没有域

时间:2017-08-03 14:46:15

标签: c# authentication active-directory windows-authentication iprincipal

我目前正在切换旧的c#intranet应用程序,该应用程序使用Forms身份验证和配置文件(SQL)来验证和跟踪用户。但是,现在我将其转换为使用Windows身份验证。

我已经完成了大部分工作但现在的问题是我必须处理新的用户名架构。例如,以前,对于John Doe jdoe,用户名就像这样保存了。现在,由于我使用的是Windows身份验证,因此我收到的用户名为EXAMPLE\\jdoe(其中EXAMPLE是域名)。

据我所知,我可以简单地将收到的用户名拆分为jdoe - 而且我一直这样做是出于测试目的 - 但这种解决方案只适用于我只使用字符串的情况。在某些情况下,我需要直接使用User对象(System.Security.Principal.IPrincipal.Page.User),例如我需要使用只能User.IsInRole()个对象访问的User方法不是字符串。

现在我的问题是,我可以通过某种方式将其设置为默认 User.Identity.Name 返回 jdoe 而不是 EXAMPLE\\jdoe ,同时仍使用Windows身份验证?

一个强力解决方案是重新创建具有前置域的每个用户,并处理边缘情况下的域和用户名分割。但除非绝对必要,否则我宁愿不去那条路。

0 个答案:

没有答案