我的应用需要将文件写入(并移动)到非管理员用户的文件夹中,并且该用户无权使用该文件夹。
我尝试更改文件夹的权限,但似乎没有效果。
允许我这样做是否存在内置限制?
我所做的是写入文档,然后尝试将文件移动到最终文件夹,该文件夹失败......
感谢您的回答!
以下是代码:
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
答案 0 :(得分:2)
操作系统旨在阻止这类事情,因为它是一个巨大的安全漏洞,否则
答案 1 :(得分:2)
您可以使用Monkeybread软件插件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作为授权MBS