[Java] JavaからAD認証が必要な共有ファイルにアクセスする

| コメント(0) | トラックバック(0)
Windowsマシンから、同じくWindowsのファイルサーバにjava.io.Fileでアクセスすると、
Javaプログラムが走っているマシンにログインさせたユーザの権限で共有ファイルにアクセスする。

つまり、
ファイルサーバにAとBというディレクトリがあり、aさんでログインしたマシンではディレクトリAにアクセスでき、bさんでログインしたマシンからではディレクトリBにアクセスできるとする。

このとき、aさんでログインしたマシン上で動いてるJavaからはjava.io.FileでAにはアクセスできる。
ここで、aさんでログインした状態で、ディレクトリBにアクセスする方法のメモ



まず、java.io.Fileには認証機能が存在しないので、JCIFS(The Java CIFS Client Library)というライブラリをダウンロードし、クラスパスを通す必要がある。

jcifs.smb.SmbFileやjcifs.smb.SmbFileInputStreamなどは、java.io.Fileやjava.io.FileInputStreamと同じように扱える。


ここで、認証の仕方が2種類見つかったので、2つとも¢(. .。)メモメモ

<条件>
ディレクトリBのpath:¥¥fileserver¥B
fileserverのIP:192.168.0.1
bのユーザー名:hoge
bのパスワード:foo
   +
上の例の条件


<方法①>


以上(笑)

これ以降は、jcifs.smb.SmbFileを使って、java.io.Fileと同じように、ディレクトリ内のファイルのリスト(SmbFile配列)を取得したり、ファイル名とかファイルサイズを取得したりする。

ちなみに、アクセス権の内ディレクトリにアクセスしようとすると、Exceptionが投げられる
また、SmbFileを使ってユーザbを認証している間は、SmbFileではAにアクセスできない。Fileではできる。

<方法②>
jcifs.smb.SmbFileの他にjcifs.Configを使って




<参考>
java:jcifs [Paulownia.jp]
試験管のなかのコード :: JCIFSにチャレンジ

トラックバック(0)

トラックバックURL: http://blog.isocchi.com/MovableType/mt-tb.cgi/251

コメントする

このブログ記事について

このページは、isocchiが2008年4月 7日 16:04に書いたブログ記事です。

ひとつ前のブログ記事は「[Java][Flex]BlazeDSでFlexとJavaを通信させる必要最低限の設定」です。

次のブログ記事は「[Papervision3D2.0]#1GreatWhiteを使ってみる」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 5.0