我是 JAAS 的新手,但我仍然无法得到一件事:如果恶意用户手动创建主题和主体怎么办?
如果用户篡改它,不应该对主题/委托人进行一些验证吗?我见过的教程都没有提到这一点。
看看这个例子(来自 jaasbook.com 的 ch02):
SimpleCallbackHandler cb = new SimpleCallbackHandler(username,
password);
LoginContext ctx = new LoginContext("chp02", cb);
ctx.login();
Subject subject = ctx.getSubject();
System.out.println("Logged in " + subject);
Subject.doAsPrivileged(subject, new PrivilegedAction() { ...
如果我用这个代码替换这个代码:
Subject subject = new Subject();
Principal p = new SysAdminPrincipal(username);
subject.getPrincipals().add(p);
Subject.doAsPrivileged(subject, new PrivilegedAction() { ...
它也同样有效(至少在这个示例代码中)。
我一定错过了一些明显的东西,否则使用 jaas 根本没有意义。谢谢