roe*_*ijn 6 java jboss jaas jboss7.x
我试图通过以编程方式登录这样的用户(剥离的异常处理)在不同的身份验证下在JBoss Container中运行代码:
LoginContext ctx = ctx =
new LoginContext("MyLoginSchema",
new UsernamePasswordCallbackHandler("newuser", "")
);
ctx.login();
Subject.doAs(ctx.getSubject(), new PrivilegedAction<T>() {
@Override
public T run() {
Subject.getSubject(AccessController.getContext());
InitialContext ic = new InitialContext();
EJBContext sctxLookup = (EJBContext) ic.lookup("java:comp/EJBContext");
Principal principal = sctxLookup.getCallerPrincipal();
}
});
Run Code Online (Sandbox Code Playgroud)
登录newuser作品(呼叫LoginModule成功),但Subject.doAs()不将新主题与EJBContext.run()-Method中的代码仍然从中获取旧用户的主体EJBContext.
我测试了另一种检索登录用户但方法相同的方法:
Subject caller = (Subject) PolicyContext.getContext("javax.security.auth.Subject.container");
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
| 归档时间: |
|
| 查看次数: |
4499 次 |
| 最近记录: |