2010-04-27 10 views
2

RMI에 간단한 프로그램을 실행하려고합니다. 그러나 라인을 실행하는 동안 다음 예외가 발생합니다. Naming.rebind ("interfacename", Remoteserverobject);java.security.AccessControlException : 액세스가 거부되었습니다. 예외

은 java.security.AccessControlException :

public static void main(String[] args) throws Exception { 

     if(System.getSecurityManager()==null) 
     { 
      System.setSecurityManager(new RMISecurityManager()); 
     } 
     Remoteserver objremoteserver=new Remoteserver(); 
     objremoteserver.setmsg("Hello! How are you?"); 
     System.out.println(objremoteserver.getmsg()); 
     try 
     { 
     Naming.rebind("Remotemethod", objremoteserver); 
     System.out.println("Server Started"); 
     } 
     catch(RemoteException re) 
     { 
      System.out.println(re.getLocalizedMessage()); 
     } 
     finally 
     { 
      System.out.println("Unknown Exception Occured!!!!"); 
     } 
    } 
: 액세스 (낸다 java.net.SocketPermission 127.0.0.1:1099 연결, 해결)

내 코드는 다음과 같다 거부

이 문제를 극복하는 방법. (내가)하지 않는 한 보안 관리자를 사용하지 마십시오

답변

-1

나는 U는 새로운 보안 관리자와 무시하려고 R,이

public static void main(String[] args) throws Exception { 

     Remoteserver objremoteserver=new Remoteserver(); 
     objremoteserver.setmsg("Hello! How are you?"); 
     System.out.println(objremoteserver.getmsg()); 
     try 
     { 
     Naming.rebind("Remotemethod", objremoteserver); 
     System.out.println("Server Started"); 
     } 
     catch(RemoteException re) 
     { 
      System.out.println(re.getLocalizedMessage()); 
     } 
     finally 
     { 
      System.out.println("Unknown Exception Occured!!!!"); 
     } 
    } 

모든 JRE는 기본 보안 관리자가 작동 같아요. 당신은이 새로운 보안 관리자에게 어떤 속성도 지정하지 않습니다. 오류가 있습니다. 해결책은 기본 관리자가 완전히 새로운 보안 관리자를 만드는 것입니다. 다음은 instructions입니다.

+0

모든 가능한 방법으로 잘못되었습니다. JVM은 사용자가 말하지 않는 한 보안 관리자로 실행되지 않습니다. RMISecurityManager에는 설정할 속성이 없으므로 이러한 속성이 없어도 아무 것도 설명하지 못합니다. '기본 관리자 사용'과 '완전히 새로운 보안 관리자 생성'에 대한 지침은 서로 모순되는 것이므로이 대답은 의미가 없습니다. – EJP

0

감사 당신이 RMISecurityManager의 설정을 가지고 있는지 확인하십시오 당신은 당신이 일 및 (ii) 당신은 적절한 .policy 파일을 작성했습니다 필요 알고있다. 이 두 가지가 모두 적용된다고 생각되면 -Djava.security.debug = access를 사용하여 문제를 실행하십시오. 실제로 어떤 문제가 있는지 보려면 실패하십시오. 대부분의 경우 사용자에게 필요한 사용 권한을 부여하지 않았거나 정책 파일 위치를 올바르게 지정하지 않았습니다.

+0

S. 해당 줄을 포함 시켰습니다. 새로운 rmisecurity 관리자를 만들고 있습니다. 그러나, 사용하지 마십시오. – Nila

+0

코드 – objects

+0

S를 게시 할 수 있습니까? 게시했습니다. 그걸 확인할 수 있니? – Nila

1

here 설명으로 미리

+0

@Downvoter :이 답변에 대한 귀하의 문제는 무엇입니까? – EJP

관련 문제