0

一般问题。服务器管理员设置 SPNEGO。LTPA 项目符号标记在管理控制台中的全局安全下。我的理解是 SPNEGO 从初始登录(即网络)中捕获用户名。稍后,如果用户访问应用程序的 URL,发生的许多事情中很少有 SPNEGO 正在通过用户的 ldap 组(管理员控制台安全角色)试图找到与应用程序的角色名称相关联的组。如果找到匹配项,则用户授权并可以直接进入应用程序,而无需使用登录表单输入凭据。但是在尝试实现这一点时遇到问题。检查HttpServletRequest-getUserPrincipal().getName()getRemoteUser()在应用程序的前端出现null。如果 SPNEGO 实际上设置正确,是否应该null找到一个?

4

1 回答 1

1

你混淆了一些事情。SPNEGO 是一种将在 Kerberos 领域中经过身份验证的用户传递给给定服务的机制,而无需传递用户密码。它与授权无关——这部分由 WebSphere 安全服务根据从请求中检索到的 id 完成(简而言之)。

Null用户名通常是由于未在服务器中启用应用程序安全性或未使用 Java EE 安全性保护应用程序(安全约束在 中定义web.xml)。

有关 WebSphere 中 SPNEGO 的一些基本信息,请查看以下页面Single sign-on for HTTP requests using SPNEGO web authentication

于 2015-05-21T23:31:04.520 回答