Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 在OSGI上下文中获取当前用户(Fuse,Karaf)_Security_Osgi_Fuseesb_Jbossfuse - Fatal编程技术网

Security 在OSGI上下文中获取当前用户(Fuse,Karaf)

Security 在OSGI上下文中获取当前用户(Fuse,Karaf),security,osgi,fuseesb,jbossfuse,Security,Osgi,Fuseesb,Jbossfuse,在FUSE(或Karaf)中,如何获取呼叫者用户id?我实际上是在用FUSE和blueprint服务 例如,在J2EE会话bean中,您可以执行以下操作: sessionCx.getCallerPrincipal() OSGI服务空间中是否有等价物?在Karaf中,我们使用普通jaas进行服务身份验证。因此,您可以使用以下代码访问主题和主体 AccessControlContext acc = AccessController.getContext(); Subject subject = Su

在FUSE(或Karaf)中,如何获取呼叫者用户id?我实际上是在用FUSE和blueprint服务

例如,在J2EE会话bean中,您可以执行以下操作:

sessionCx.getCallerPrincipal()


OSGI服务空间中是否有等价物?

在Karaf中,我们使用普通jaas进行服务身份验证。因此,您可以使用以下代码访问主题和主体

AccessControlContext acc = AccessController.getContext();
Subject subject = Subject.getSubject(acc);
Set<Principal> principals = subject.getPrincipals();
AccessControlContext acc=AccessController.getContext();
Subject-Subject=Subject.getSubject(acc);
Set principals=subject.getPrincipals();

在karaf 3中,也有内置的。因此,您可以定义哪些角色可以访问哪些服务。

谢谢。我找到了很多关于如何设置JAAS的信息,但找不到一个简单的代码片段,说明如何在运行时使用JAAS来获取原理。这正是我想要的。