几天以来,我试图为 Jira 5.2 启用 SSO,并发现 Jira 的帮助页面已经过时。
每个示例都使用旧版本的 atlassian-seraph(Jira 5.2 使用 2.6.0)。
目标:
如果我登录到 Webseal(反向代理),我想自动登录到 Jira。
背景:
问题:
如何编写从 http_header 读取用户名并验证用户的自定义登录模块?
链接:
最佳答案
最后我自己想通了:
public class MyCustomAuthenticator extends DefaultAuthenticator {
protected boolean authenticate(Principal user, String password)
throws AuthenticatorException {
return true;
}
protected Principal getUser(String username) {
return getCrowdService().getUser(username);
}
private CrowdService getCrowdService() {
return (CrowdService)ComponentManager.getComponent(CrowdService.class);
}
}
<authenticator class="com.company.jira.MyCustomAuthenticator"/>
public class CustomFilter extends PasswordBasedLoginFilter {
@Override
protected UserPasswordPair extractUserPasswordPair(
HttpServletRequest request) {
String username = request.getHeader("iv-header");
if (username != null && username.trim().length() != 0) {
return new PasswordBasedLoginFilter.UserPasswordPair(
username, "DUMMY", false);
}
return null;
}
}
<filter>
<filter-name>login</filter-name>
<filter-class>com.company.jira.CustomFilter</filter-class>
</filter>
Jira 5.2 需要这些 jar
关于single-sign-on - 反向代理后面的 Jira 5.2 Seraph SSO 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16273566/