2012-06-06 2 views
1

일부 데이터를 표시하는 웹 응용 프로그램을 만들어야합니다. 등록 사용자와 익명 사용자의 두 종류의 사용자가 있습니다. 사용자는 회사 인트라넷에서 앱을 실행하고 익명 사용자는 인터넷에서 앱을 실행합니다. 레지스터 사용자는 익명 사용자보다 많은 데이터를 보게됩니다.사용자를위한 로그인 양식과 익명의 로그인 양식을 사용하지 않는 가장 좋은 방법

누가 데이터를 볼 수 있는지 알기 위해 로그인 양식이 필요하지만 익명 사용자가 응용 프로그램을 사용할 때 로그인 양식이 표시되지 않아야합니다.

동일한 웹 응용 프로그램에서 첫 번째 화면은 로그인 양식이어야하지만 경우에 따라 로그인 양식이 나타나서는 안됩니다. 그렇게하는 가장 좋은 방법은 무엇입니까?

내 응용 프로그램을 개발하는 데 Vaadin (GWT 기반 Java 프레임 워크)을 사용하고 있습니다. 좋은 방법은 브라우저 URL을 확인하는 것입니다.하지만 최선의 방법이 맞는지 잘 모르겠습니다.

답변

2

마찬가지로 McOmghall이 말합니다.

WebBrowser b = (WebBrowser) getMainWindow().getTerminal(). 
String ip = b.getAddress(); 

또는 (응용 프로그램 클래스) : 당신은 호출하여 사용자의 IP를 얻을 수있는 IP 주소의 서브넷에있는 경우

WebBrowser b = ((WebApplicationContext) getContext()).getBrowser(); 
String ip = b.getAddress(); 

는 그런 다음 확인 Jakara 커먼즈 인터넷을 사용할 수 있습니다 기업 (예 : 192.168.0.0/24에 대한) :

SubnetInfo subnet = (new SubnetUtils("192.168.0.0", "255.255.255.0")).getInfo(); 
boolean test = subnet.isInRange(ip); 

여기에 어떤 제 3 자 libs와의 사용을 필요로하지 않습니다 another cool solution입니다.

Source 1

Source 2

0

익스트라 넷과 인트라넷을 구분하는 경우 IP로 연결 원본을 확인해야합니다. Java는이 작업을 수행하는 방법을 제공하지만 Vaadin을 사용하여이 작업을 수행 할 수 있는지 여부는 알 수 없습니다.

관련 문제