Windows 域中的用户名规则

Windows 域中的用户名规则

我正在开发一款使用 Jespa 进行透明 SSO 的应用。我使用的是 NtlmSecurityProvider。在我的代码中,当我获取用户名时,它看起来像这样:“DOMAINNAME\username”

例如

<% out.println(request.getRemoteUser()); %>

打印内容:MYDOMAIN\myusername

这是我的问题:

它会一直这样吗?带有域名用户名?还是这只是我们域中用户帐户的设置方式?例如,如果我切换到其他 Windows 域,我是否可以只获得用户名而不获得域和反斜杠?

谢谢!

答案1

对于 Jespa 的用户来说,这可能更像是一个支持问题。输出取决于他们的 API 的行为。

不过,一般来说,Windows 的最佳做法是始终使用DOMAIN\username格式或username@domain格式。

如果您担心格式会发生变化,那么我建议您编写一个类/方法/实用程序,它知道如何解析结果getRemoteUser()并根据需要将部分返回到您的应用程序。然后,如果它确实发生了变化,您只需更改一段代码即可修复您的应用程序。

相关内容