私は JAAS の初心者ですが、まだ 1 つのことがわかりません。悪意のあるユーザーがサブジェクトとプリンシパルを手動で作成した場合はどうなるでしょうか。
ユーザーが改ざんした場合に備えて、サブジェクト/プリンシパルを検証する必要はありませんか? 私が見たチュートリアルのどれも、これについて言及していません。
この例を見てください (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() { ...
同様に機能します (少なくともこのサンプル コードでは)。
私は明らかにsthを見逃していたに違いありません。そうでなければ、jaasを使用しても意味がありません。ありがとう