サーブレット環境で Apache Shiro をカプセル化したいと考えています。MySecurityUtils を作成し、静的メソッドで Shiro SecurityUtils.getSubject を使用したいと考えています。私の質問は、これが静的メソッドで SecurityUtils.getSubject メソッドを使用する正しい方法であるかどうかです。これにより、マルチスレッド サーブレット環境で問題が発生する可能性はありますか?
MySecurityUtils.java
import org.apache.shiro.subject.Subject;
import org.apache.shiro.SecurityUtils;
public class MySecurityUtils {
public static MyUser getUser() {
Subject currentUser = SecurityUtils.getSubject();
MyUser myUser = new MyUser(currentUser);
...
}
}
MyUser.java
public class MyUser {
// ... constructors
public boolean isPermitted(..) {subject.isPermitted(...)}
}