Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
如何在mule流中获取mule安全上下文或安全主体引用_Mule_Mule Component_Anypoint Studio - Fatal编程技术网

如何在mule流中获取mule安全上下文或安全主体引用

如何在mule流中获取mule安全上下文或安全主体引用,mule,mule-component,anypoint-studio,Mule,Mule Component,Anypoint Studio,在mule中尝试身份验证和授权,并使其正常工作。现在我希望对mule安全上下文的引用,特别是流中使用的主体对象引用。如何在流中的mule中获得对主对象的引用 安全上下文的链接可通过MuleSession获得,此会话可通过eventContext获得。要获取eventContext引用,可以执行以下操作 这可以通过实现Callable来实现。创建以下java类。现在在mule流中放置一个java组件,必须在其中调用该组件,并使用创建的java类进行配置。Mule自动调用onCall方法,该方法以e

在mule中尝试身份验证和授权,并使其正常工作。现在我希望对mule安全上下文的引用,特别是流中使用的主体对象引用。如何在流中的mule中获得对主对象的引用


安全上下文的链接可通过MuleSession获得,此会话可通过eventContext获得。要获取eventContext引用,可以执行以下操作

这可以通过实现Callable来实现。创建以下java类。现在在mule流中放置一个java组件,必须在其中调用该组件,并使用创建的java类进行配置。Mule自动调用onCall方法,该方法以eventContext作为参数,不需要额外的配置来调用

示例java组件从会话中获取安全内容,并从会话中获取安全主体,并将其存储在流变量“user”中,该变量可由流中该java组件之后出现的其他流元素使用

import org.mule.api.MuleEventContext;
导入org.mule.api.lifecycle.Callable;
导入org.mule.api.security.Authentication;
导入org.springframework.security.core.userdetails.userdetails;
公共类GetSecurityPrincipalCallable实现了Callable{
@凌驾
公共对象onCall(MuleEventContext eventContext)引发异常{
身份验证auth=eventContext.getSession().getSecurityContext()
.getAuthentication();
UserDetails主体=(UserDetails)auth.getPrincipal();
System.out.println(“用户名是:”+principal.getUsername());
eventContext.getMessage().setInvocationProperty(“用户”,主体);
返回null;
}
}

我已经搜索了几个小时了!这就成功了。非常感谢!:-)