十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
不建议用在应用程序中操作共享文件或共享文件夹,这个东西往往会把软件做得过于死板。
创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的德安网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
Windows 提供了专门的 UserData 目录用来存放程序需要读写的文件(你会发现很多游戏存档都在这个目录底下),访问这个目录是不需要管理员权限的,你可以在这个目录下建一个你的程序专属的文件夹,往里面存放文件。
默认是在 C:\ProgramData(如果是 XP 的话是 C:\Documents and Settings)下。但一般不建议硬编码这个地址,一来你还得自行判断操作系统版本,二来用户是可以修改这个目录的路径的。
好在系统提供了一个环境变量 %ProgramData% 来指向这个地址,用它就可以了。
'
' 需要添加以下命名空间:
' Imports System.IO
' Imports System.Security.AccessControl
' */
Dim sPath As String = Server.MapPath(文件夹名称字符串)
Directory.CreateDirectory(sPath)
addpathPower(sPath, "ASPNET", "FullControl")
'////////////////////////////////////////////////
Public Sub addpathPower(ByVal pathname As String, ByVal username As String, ByVal power As String)
Dim dirinfo As DirectoryInfo = New DirectoryInfo(pathname)
If (dirinfo.Attributes FileAttributes.ReadOnly) 0 Then
dirinfo.Attributes = FileAttributes.Normal
End If
'取得访问控制列表
Dim dirsecurity As DirectorySecurity = dirinfo.GetAccessControl()
Select Case power
Case "FullControl"
dirsecurity.AddAccessRule(New FileSystemAccessRule(uername,FileSystemRights.FullControl,InheritanceFlags.ContainerInherit,PropagationFlags.InheritOnly,AccessControlType.Allow))
Exit Sub
Case "ReadOnly"
dirsecurity.AddAccessRule(New FileSystemAccessRule(username,FileSystemRights.Read,AccessControlType.Allow))
Exit Sub
Case "Write"
dirsecurity.AddAccessRule(New FileSystemAccessRule(username,FileSystemRights.Write,AccessControlType.Allow))
Exit Sub
Case "Modify"
dirsecurity.AddAccessRule(New FileSystemAccessRule(username,FileSystemRights.Modify,AccessControlType.Allow))
Exit Sub
End Select
dirinfo.SetAccessControl(dirsecurity)
End Sub
正常流程是这样的,注册表是系统核心关键的东西,修改当然要搞权限了,不过你看有的木马病毒 就可以不用管理员权限修改,这是因为木马有的是注入到具有管理员权限的进程 或者通过加载驱动在驱动里操作,感觉你这个问题问的没什么意义啊
实现权限要求数据库结构如下:
用户表(id,用户名,密码,角色id)
角色表(id,角色名,权限id)
权限表(id,权限名,链接地址)