PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23546 09/06/16 18:52:02 RE(10):WNetAddConnection3でのユーザー名の扱いについて By tm2009
23545 09/06/16 17:27:22 RE(9):WNetAddConnection3でのユーザー名の扱いについて By にしやん
23544 09/06/15 09:57:46 RE(8):WNetAddConnection3でのユーザー名の扱いについて By tm2009
23539 09/06/09 16:34:53 RE(7):WNetAddConnection3でのユーザー名の扱いについて By にしやん
23538 09/06/09 11:19:11 RE(6):WNetAddConnection3でのユーザー名の扱いについて By tm2009
23535 09/06/04 17:12:34 RE(5):WNetAddConnection3でのユーザー名の扱いについて By にしやん
23532 09/06/04 11:53:05 RE(4):WNetAddConnection3でのユーザー名の扱いについて By Hakofugu
23527 09/06/01 18:13:22 RE(3):WNetAddConnection3でのユーザー名の扱いについて By tm2009
23526 09/05/28 13:43:21 RE(2):WNetAddConnection3でのユーザー名の扱いについて By tm2009
23525 09/05/28 11:37:04 RE(1):WNetAddConnection3でのユーザー名の扱いについて By Hakofugu
23524 09/05/28 10:01:32 WNetAddConnection3でのユーザー名の扱いについて By tm2009

カテゴリ:スクリプトの記述
日付:2009年06月16日 17:27 発信者:にしやん
題名:RE(9):WNetAddConnection3でのユーザー名の扱いについて

tm2009さん、こんにちは。

>とりあえず共有フォルダにアクセスするという方向で、調べていたため、私は当関数にいきつきましたが、
>他に共有フォルダの認証などに有効な関数があったりするのでしょうか?

すみません。そこまでは調べていませんでした。
漠然と LogonUser でできるのでは…と思っていたのですが、
リモートコンピュータへのログオンはできないようですね。
他にリモートコンピュータのユーザ認証が行えそうなAPIを見つけることもできませんでした。

やはり、Windows 共有でユーザ認証を行うのであれば、
サーバの Guest アカウントを無効にする必要があるのだと思います。

#Guest アカウントが有効になっているということは、
#未知ユーザによるアクセスを認めているということですから、
#むしろ当然ということなのでしょうね。調べていてそのように感じました。


一応、Guest アカウントを無効にする以外の方法も考えてみました。
WNetAddConnection3 での接続が成功した場合、
NetUserGetInfo を使って接続先に指定のユーザIDが存在するか確認する方法はどうでしょうか?

http://msdn.microsoft.com/ja-jp/library/cc447034.aspx (msdn)

WNetAddConnection3 での接続が成功しても、
NetUserGetInfo がエラー(NERR_UserNotFound(=2221))を返す場合は、
Guest アカウントで接続していると判断できるわけです。

#引数の文字列が Unicode なので、PB9 以前の場合は Blob で宣言して ToUnicode で変換する必要です。
#存在するか確認するだけなので、第3引数の情報レベルは 0 で良いと思います。
#成功時は第4引数に返されるポインタが示すメモリ領域を NetApiBufferFree で解放する必要があります。

FUNCTION UnsignedLong NetUserGetInfo(Blob servername, Blob username, UnsignedLong level,&
  REF UnsignedLong bufptr) LIBRARY \"NETAPI32.DLL\"
FUNCTION UnsignedLong NetApiBufferFree(UnsignedLong Buffer) LIBRARY \"NETAPI32.DLL\"


付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS Oracle Net 10
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.