Tag: access control

为什么枚举类型上的私有字段对包含类可见?

public class Parent { public enum ChildType { FIRST_CHILD(“I am the first.”), SECOND_CHILD(“I am the second.”); private String myChildStatement; ChildType(String myChildStatement) { this.myChildStatement = myChildStatement; } public String getMyChildStatement() { return this.myChildStatement; } } public static void main(String[] args) { // Why does this work? System.out.println(Parent.ChildType.FIRST_CHILD.myChildStatement); } } 在参考此枚举时,是否存在关于Parent子类,同一包中的类等的访问控制的其他规则? 我在哪里可以找到规范中的规则?

Java可以启动Windows UAC吗?

正如标题所说,我想知道用Java( 并且只有java )编写的程序是否有可能以管理员权限重新启动自己(最好是.jar),以本机Windows UAC的方式显示(为了制作它对用户来说更可靠),我完成了我的作业,并发现可以使用c ++和java之间的桥梁实现这一点,但我真的希望这样做是一个纯粹的java项目。 PS:在远程情况下,这个结果是不可能的,有人可以用另一种语言向我展示“简单”的方法(我的意思是,我已经找到了教程,但是他们要复杂的东西,我认为它不应该那么复杂)。 P.S2:如果可以实现这一点,它是否可以在其他平台上运行(OS X,Linux)

JAX-WS,身份validation和授权 – 如何?

在Web服务中进行身份validation和授权的最佳方法是什么? 我正在开发一组Web服务,需要基于角色的访问控制。 使用metro – SOAP,没有EJB的简单java。 我想使用用户名和密码对用户进行一次身份validation,以便与数据库进行匹配。 在随后的电话中。 我想使用某种会话管理。 可以是在登录时检索到客户端的某个会话ID,以便在所有呼叫中显示。 至今: 使用数据库读取身份validation – 但我想要应用程序级别validation; 使用jax-ws读取应用程序身份validation – 但我不想每次都执行身份validation机制; 我想我可以使用SOAP处理程序拦截所有消息,并使用消息附带的一些会话标识符令牌在hander中执行授权控制,该令牌可以与保存在数据库中的标识符匹配,登录Web方法。 编辑: 我还有一些问题: 如何知道被调用的Web方法的名称? 我应该使用什么样的令牌? 如何在通话之间传递此令牌? 编辑2 因为@ ag112回答: 我正在使用Glassfish。 我使用WS-Policy和WS-Security来加密和签名消息。 使用相互证书身份validation。 我想在应用程序之间补充此消息级别的安全性,同时在消息级别对用户进行身份validation和授权。 我只是在开发服务,我几乎不知道客户,只是他们可以用不同的语言创建。 在这一点上,我认为最重要的是做我需要做的事情来validation和validation用户,我是客户端应用程序最简单的实现方式。