1

私のアプリは、管理者以外のユーザーからフォルダーにファイルを書き込む(および移動する)必要があり、そのユーザーにはそのフォルダーを使用する権限がありません。

フォルダのアクセス許可を変更しようとしましたが、効果がないようです。

それを許可することからの組み込みの制限はありますか?

私がやっていることは、ドキュメントに書き込んでから、ファイルを最終フォルダーに移動しようとすることですが、失敗します...

答えてくれてありがとう!

コードは次のとおりです。

  Dim t as TextOutputStream
  Dim tempfile as FolderItem = SpecialFolder.Documents.Child(filePath.Name)

  t = tempfile.CreateTextFile
  t.Write fileData
  t.close

  Dim p as New Permissions( 0 )

  p.OthersExecute = True
  p.OthersWrite = True
  p.OthersRead = True

  filePath.Parent.Permissions = p

  tempfile.MoveFileTo filePath.Parent
4

2 に答える 2

2

OSは、この種のことを阻止するように設計されています。それ以外の場合は、巨大なセキュリティホールです。

于 2010-11-01T21:31:04.937 に答える
2

ユーザーがセキュリティレベルを上げることができると仮定して、Monkeybread Softwareプラグインの機能の1つであるAuthorizationMBSを使用して、認証を許可することができます。システムの場所に入らなければならない私のクラスでは、私はこれを持っています:

Protected Function mbsAuthorize() As boolean
  dim a as AuthorizationMBS
  dim s(2) as String

  if mbsAuthorized then
    mbsForm = mbsAuth.ExternalForm
    Return true
  else
    a = New AuthorizationMBS
    If a.NewAuthorization(nil, a.kAuthorizationFlagPreAuthorize) Then
      a.SimpleAuthorize

      if a.Authorized then
        mbsAuth=a // save so the externalform doesn't get invalid
        mbsForm=a.ExternalForm // copy to string for later use.
        Return true
      end if
    else
      break
    End if
  end

  return false
End Function

クラスには次のプロパティがあります。

mbsForm as string

mbsAuth as AuthorizationMBS

于 2010-11-01T23:40:37.487 に答える