我正在尝试以编程方式设置用户名/密码组合:
HashLoginService loginService = new HashLoginService();
loginService.setName("myrealm");
Credential credential = new Password("password");
AbstractLoginService.UserPrincipal principal =
new AbstractLoginService.UserPrincipal("username",credential);
Subject subject = new Subject();
subject.getPrincipals().add(principal);
subject.getPrivateCredentials().add(credential);
loginService.getIdentityService().newUserIdentity(
subject,
principal,
new String[]{"users"});
但是我得到了 401。我在这里错过了什么? 以前可以做简单的
loginService.putUser("username",
new Password("password"),
new String[]{"users"});
但不适用于 jetty 9。
希望得到一些指导。谢谢!
最佳答案
使用以下代码解决您遇到的问题,并针对 jetty 版本 9.4.8 进行了测试:
HashLoginService loginService = new HashLoginService("MyRealm");
UserStore userStore = new UserStore();
userStore.addUser(userName, new Password("password"), new String[] { "users"});
loginService.setUserStore(userStore);
关于java - HashLoginService 和 Jetty9,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44263651/