我已经通过 RMI 实现了用于 JMX 身份验证的 JMXAuthenticator
,但是我不确定如何创建角色以允许只读/读写访问级别。例如,在JMXAuthenticator.authenticate
中,我有我的自定义身份验证逻辑,并希望它来确定访问角色。我已经尝试了以下内容,但在JConsole中执行操作时没有区别:
@Override
public Subject authenticate(Object credentials) {
Subject subject = new Subject();
JMXPrincipal p;
//...my logic
String accessLevel = myCustomLogic();
if (accessLevel.equals("admin")) {
p = new JMXPrincipal("adminrole");
} else {
p = new JMXPrincipal("basicrole");
}
subject.getPrincipals().add(p);
return subject;
}
然后我创建了一个访问文件,jmxacess。属性
,包含
adminuser readwrite
basicuser readonly
和< code > JMX . management . properties ,其中包含< code > com . sun . management . JMX remote . ACCESS . FILE =访问文件的路径,我使用< code >-DCOM . sun . management . config . FILE = JMX . management . properties的路径运行该应用程序。
但是,当我通过JConsol连接并作为basicuser(只读访问)进行身份验证时,我可以访问bean上的setter。我通过完整的服务进行连接:jmx: rmi:…
url。
所以我的问题是
主题
对象吗?谢谢
Edit My MBean只是一个基本的POJO,其中包含具有公共getter和setter以及另一个公共方法的私有字段。
找到答案:需要通过 InvocationHandler
接口实现自定义调用处理程序。这会在服务器调用到达 bean 之前拦截它们。在身份验证方法中,您需要检查主体
AccessControlContext acc = AccessController.getContext();
Subject subject = Subject.getSubject(acc);
Set principals = subject.getPrincipals(JMXPrincipal.class);
if(principals != null && !principals.isEmpty()) {
Principal principal = (Principal)principals.iterator().next();
//your checks
}
我扩展了JMXPrincipal(每个访问级别一个扩展),并将其分配给上面的Authenticator中的Subject,然后在IH中检索主体后,我可以通过<code>instanceof</code>检查类型,并允许操作继续或抛出<code>SecurityException</code>。
我正在尝试在 Swift 中创建一个 iOS 应用程序,该应用程序使用 AWS Lambda 使用以下身份验证服务 - https://github.com/danilop/LambdAuth 它使用适用于 iOS 的 AWS 移动开发工具包与迪纳摩数据库和 Lambda 进行通信 - http://docs.aws.amazon.com/mobile/sdkforios/developergui
我试图为AWS实现“开发人员身份验证身份”,如下所示:https://AWS.amazon.com/blogs/mobile/amazon-cognito-innecling-developer-authenticated-identities/ 我很好地理解了基本流程。 我怎样才能做到这一点?
所以我正忙着为twitter开发一个应用程序,我希望人们使用PIN进行身份验证。(https://dev.twitter.com/oauth/pin-based). 要向人们显示PIN码,我需要使用以下命令:https://dev.twitter.com/oauth/reference/get/oauth/authorize 那里的例子说:https://api.twitter.com/oauth
**有人可以建议我另一个解决方案,或者我如何可以解决这个问题please.and感谢提前主计长 服务 网络安全配置 错误**说明: com中的Field authenticationManager。实例演示。服务JwtService需要“org”类型的bean。springframework。安全认证。找不到AuthenticationManager。 注入点有以下注释:-@org。springf
问题内容: 我有一个REST API,我正在使用Spring Security基本授权进行身份验证,客户端会为每个请求发送用户名和密码。现在,我想实现基于令牌的身份验证,当用户最初通过身份验证时,我将在响应标头中发送令牌。对于进一步的请求,客户端可以在令牌中包含该令牌,该令牌将用于对资源进行用户身份验证。我有两个身份验证提供程序tokenAuthenticationProvider和daoAuth
在daoAuthenticationProvider中,我设置了自定义userDetailsService并通过从数据库中获取用户登录详细信息对其进行身份验证(只要使用授权传递用户名和密码就可以正常工作:basic bgllqxbpvxnlcjogn21wxidmqjrdturtr04pag==作为头) 但是当我使用X-AUTH-TOKEN(即constants.auth_header_name)