0
우리는 NT 도메인에서 사용자 이름을 가져 오기 위해 jcifs를 사용하는 gwt 앱을 가지고 있습니다. 여기에 우리의 web.xml의 클립입니다 : 그래서 현재 그들은 약 2 ~ 3 반복 프롬프트가 이미있는 경우에도 도메인에 로그온하도록 요청받을 사용자가 사이트에 갈 때로그인을위한 GWT, jcifs 및 복수 프롬프트
<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>com.xxx.gwt.server.MyNTLMFilter</filter-class>
<init-param>
<param-name>jcifs.netbios.wins</param-name>
<param-value>192.168.109.20</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.domain</param-name>
<param-value>its</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/trunkui/greet</url-pattern>
</filter-mapping>
<!-- Servlets -->
<servlet>
<servlet-name>greetServlet</servlet-name>
<servlet-class>com.xxx.gwt.server.GreetingServiceImpl</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>greetServlet</servlet-name>
<url-pattern>/trunkui/greet</url-pattern>
</servlet-mapping>
가 (당신이해야 우리의 애플 리케이션에 도착하는 도메인에있어). 나는 적어도 한 번만 일어날 것을 촉구하고 싶습니다. 그래서 "/ trunkui/dummy"의 더미 서블릿을 만들어서 이름을 요구할 때만 호출하도록했습니다. 원격 서블릿은 우리가 비동기 호출이 방법이 있습니다
public String getUser() {
String userAgent = "";
try {
userAgent = getThreadLocalRequest().getUserPrincipal().getName();
int slashIdx = -1;
if ((slashIdx = userAgent.indexOf('\\')) >= 0)
userAgent = userAgent.substring(slashIdx + 1);
} catch (Exception npe) {
npe.printStackTrace();
}
return userAgent;
}
그래서 내가 도메인이 메시지를 표시 할 더미 서블릿 호출의 일종을하고 싶었다, 그러나 나는 GWT 원격에서이 작업을 수행하는 방법에 대한 확신입니다 서비스. 아니면 이것을 할 수있는 더 좋은 방법이 있다면?