2017-01-26 8 views

答えて

0

NTLM v1/v2プロトコルを使用しても問題ない場合は、jcifsライブラリをオープンソースで完全に無料で使用できます。セットアップは非常に簡単です:

1 - web.xmlのにフィルタ設定の下に追加します。

<filter> 
    <filter-name>NtlmAuthenticationFilter</filter-name> 
    <filter-class>jcifs.http.NtlmHttpFilter</filter-class> 
    <init-param> 
     <param-name>jcifs.http.domainController</param-name> 
     <param-value>ActiveDirectoryIP</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jcifs.smb.client.domain</param-name> 
     <param-value>DomainName</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jcifs.smb.client.laddr</param-name> 
     <param-value>LocalMachineIP</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jcifs.smb.client.username</param-name> 
     <param-value>YourUsernameHere</param-value> 
    </init-param> 
    <init-param> 
     <param-name>jcifs.smb.client.password</param-name> 
     <param-value>YourPassHere</param-value> 
    </init-param> 
</filter> 
<filter-mapping> 
    <filter-name>NtlmAuthenticationFilter</filter-name> 
    <url-pattern>/rest/ntlm/*</url-pattern> 
</filter-mapping> 

2 - サインオン認証、何かのよう/休憩/ NTLM/AUTHを作るために必要なURIを作成します。私たちのntlmフィルタはコントローラメソッドに来る前にトリガされる必要があるからです。

3 - DOMAINNAMEの\ ACCOUNTNAMEのようなものを返します。コードの行の下に使用してユーザー情報は、Get:答えを

String username = httpServletRequest.getRemoteUser(); 
+0

おかげで、私は、それは間違いなく動作するはず –

+0

それをしないでくださいチェックアウトしますよ後でこの答えを受け入れることを忘れないでください。 –

+0

この機能は*年*の間使用されなくなりました。このページの上部にある重要な青いテキストを参照してください:https://jcifs.samba.org/src/docs/ntlmhttpauth.html。短い答え:Jespaを使う。 – squarewav