一般问题。服务器管理员设置SPNEGO。LTPA项目符号在管理控制台中的Global Security下标记。我的理解是,SPNEGO从初始登录(即网络)捕获用户名。之后,如果用户访问应用程序的URL,SPNEGO会通过用户的ldap组(管理控制台-安全角色)尝试查找与应用程序的角色名称相关联的组。如果找到匹配,用户授权,可以直接进入应用程序,而不必使用登录表单输入凭据。但在尝试实现这一点时遇到了问题。检查HttpServletRequest -应用程序前端的getUserPrincipal().getName()和getRemoteUser()出现在null上。如果SPNEGO实际上设置正确,那么是否应该找到null?
发布于 2015-05-22 07:31:05
你把一些事情搞混了。SPNEGO是一种机制,用于将Kerberos领域中经过身份验证的用户传递给给定服务,而无需传递用户密码。它与授权无关--这部分是由WebSphere安全服务基于从请求中检索到的id (简而言之)完成的。
Null用户名通常是不在服务器中启用应用程序安全性或不使用Java安全性保护应用程序的结果(在web.xml中定义的安全约束)。
有关WebSphere中的SPNEGO的一些基本信息,请查看以下页面Single sign-on for HTTP requests using SPNEGO web authentication
https://stackoverflow.com/questions/30385493
复制相似问题