以管理权限运行问题
我正在使用Windows Vista,我发现了一些奇怪的东西, i从编程中调用IE打开IE以访问某些本地HTML页面,当前用户属于管理员组; i编程中使用runas参数调用IE,然后IE访问访问某些本地HTML页面,当前用户属于管理员组; 我发现(1)和(2)有时会有不同的结果(页面内容),尤其是在本地页面中有ActiveX或Silverlight插件时. 我的困惑是,如果当前用户属于管理员组,我们是否使用Runas参数都不重要.为什么有和没有runas参数仍然有所不同,甚至当前用户属于管理员组? 预先感谢 乔治 解决方案 即使用户在管理员组中,他们也无法在不通过UAC提示提高申请高程的情况下进行特权操作. 因此,右键单击"作为管理员"上下文菜单项的可用性. 管理员登录后,直到用户尝试执行管理任务之前,完整的管理员访问令牌才被调用. 一个管理任务定义为需要高程的任务(由应用程序的图标上的Vista" Shield"表示). 但
0 2024-04-17
编程技术问答社区
UWP, 拒绝访问该路径
我阅读了有关文件许可的一些主题. 有人说:"应用程序可以访问用户用fileOpenpicker或folderpicker手动选择的目录和文件" 我的代码如下: public async void CsvParse() { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.FileTypeFilter.Add(".csv"); Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { string[] lines = File.ReadAllLines(file.Path);//this is where app stops working and gives error message. } } 即使
0 2024-04-17
编程技术问答社区
C#文件创建-如何授予IUSR DELETE?
我有一个在用户foo下运行的C#编写的控制台程序.该程序创建一个文件.在某些情况下 创建文件时,我想将delete(或任何等效)授予IUSR.我该如何在C#? 中这样做 我已经找到了有人在如何执行此操作方面有一个很好的指针? [顺便说一句,我意识到,在某些授予IUSR删除任何文件的权利中,将是一件相当狡猾的事情,但是在这种情况下,涉及的文件的性质意味着我很乐意将这些权利授予IUSR ] 解决方案 使用Windows Explorer->选择文件居住的目录 - >右键单击 - > properties-> Security Tab->将"修改"权利转到IUSR_XXX用户帐户. 我认为您可以对同时运行控制台应用和Web应用程序的计算机进行物理访问. 编辑:对于NTFS权限的编程设置,您需要使用 system.security.accesscontrol.filesecurity 类和 file.setaccessconscontrol methot.
0 2024-04-17
编程技术问答社区
如何使用客户对象模型授予用户某些文件夹的权限?
到目前为止,我能够通过以下代码授予用户某些权限: ClientContext context = new ClientContext("http://myRealURL"); Principal user = context.Web.EnsureUser(@"myLoginAccout"); RoleDefinition readDef = context.Web.RoleDefinitions.GetByName("Read"); RoleDefinitionBindingCollection roleDefCollection = new RoleDefinitionBindingCollection(context); roleDefCollection.Add(readDef); RoleAssignment newRoleAssignment = context.Web.RoleAssignments.Add(user,
0 2024-04-16
编程技术问答社区
.NET在服务器上创建计划任务时出现E_ACCESSDENIED故障
我有一个ASP.NET网站(在C#中),该网站获取用户数据,然后尝试创建Windows计划的任务.当然,这在开发机上效果很好,但是无法在服务器上运行.我正在尝试找出ASPNET用户(或匿名Web用户)需要哪些许可才能创建任务. 错误是: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)) Stacktrace: at MyScheduler.NewWorkItem(String TaskName, Guid& rclsid, Guid& riid, Object& obj) at MyScheduler.CreateTask(String name) 我已经进行了一些搜索,建议的解决方案是使用web.config"模仿"标志来强制应用程序作为用户运行,而不是具有足够权限的用户,而不是可能没有这些权限的ASPNET帐户. 示例:
0 2024-04-16
编程技术问答社区
C#-无法访问所有文件
我的应用程序使用.NET对象Directory.GetFiles() 我正在使用的实际超负荷是 var allFiles = Directory.GetFiles("C:\\Users\\Dave", "*.*", SearchOption.AllDirectories); 问题是当源文件夹为c:\ users \用户名时,它试图通过应用程序数据文件夹查看. 尝试从应用程序数据文件夹读取时,会抛出一个例外: "访问路径'c:\ users \ dave \ appdata \ local \ application 数据被拒绝." 那么,我的问题是有人对我的选择有意见吗?我假设我必须更改收集所有文件的方式,或者可能会有内置的过载或方法可以继续我继续此操作(我显然不知道). 如果有所帮助,则目的是将所有通过Directory.GetFiles()检索到的文件"将它们粘贴"到其他地方(光荣的复制和粘贴/备份).实际上,我不太担心系统文件,只是"用户文件
0 2024-04-16
编程技术问答社区
对MVC网站有一定要求的细化权限
我不喜欢内置会员提供者.我决定自己滚动.我正在尝试提出一种在动作级别执行授权的好方法.这是我尝试的要求: 属性用法 - 我喜欢它,因为它在呼叫堆栈中以很高的水平进行控制,并且是组织权限的好地方. 没有魔术弦 - 这是我偏离目前角色提供商的原因.我不想让躺在周围的琴弦不易重命名. 权限应由 其他许可组成.示例:ReadWrite有Read的权限.就像枚举一样. 注意:有些人认为这组要求太宽(请参阅评论).我不这么认为,我认为它们相当简单. 最大的显示器是属性用法.只能有"属性参数类型的常数表达式,类型表达式或数组创建表达式". 我正在考虑拥有这样的东西来使操作具有静态访问.在属性内部,它将将int"转换"到实际权限或其他方面... public static class Operations { public static class SectionA { public const int Read = 1;
0 2024-04-15
编程技术问答社区
许可处理的模式/设计建议
我们在(ASP.NET Web)应用程序中有一个相当复杂的许可系统.用户可以在不同类型的对象上拥有特定的权限,甚至可以将某些权限分解为分配给用户的组/角色.总而言之,这一切都陷入了一个非常复杂的混乱状态,用于确定用户是否可以做/看到您必须评估许多不同权限来源的事情,这是以某种方式按需进行的,并基于特定情况. 我的问题是(从高级别的角度来看)是否有一些建议/常见的设计模式来处理一般的许可概念,也许您在建筑中处理它们的经验是什么. 解决方案 用户和组,能够测试与组相关的原子许可的能力,是授权的标准方法,但是情况正在改变基于索赔: EE335707.aspx cc163366.aspx http://wwwww.infoq.com/news/news/news/news/2009/10/基于指南的认同 然而,对于所有情况,并不是理想的. 对于旧型号,我发现在权限检查期间使用备忘录可以通过使用回忆来获得性能.这样,我不会去每个会话n次数据库n次检查访问
0 2024-04-15
编程技术问答社区
用.NET远程读取事件日志
我想在远程计算机上阅读事件日志,以检查测试期间的错误.这是一些相关代码: public bool CheckEventLogs(DateTime start) { EventLog myEventLog = new EventLog("CustomLog", "ServerName"); bool errorFound = false; foreach (EventLogEntry entry in myEventLog.Entries) { if (entry.EntryType == EventLogEntryType.Error && entry.TimeGenerated >= start) { Console.WriteLine("Error in Event Log:\n" + entry.Message + "\n"); errorFound = true; } } return errorF
0 2024-04-15
编程技术问答社区
许可处理的模式/设计建议
我们在(ASP.NET Web)应用程序中有一个相当复杂的许可系统.用户可以在不同类型的对象上拥有特定的权限,甚至可以将某些权限分解为分配给用户的组/角色.总而言之,这一切都陷入了一个非常复杂的混乱状态,用于确定用户是否可以做/看到您必须评估许多不同权限来源的事情,这是以某种方式按需进行的,并基于特定情况. 我的问题是(从高级别的角度来看)是否有一些建议/常见的设计模式来处理一般的许可概念,也许您在建筑中处理它们的经验是什么. 解决方案 用户和组,能够测试与组相关的原子许可的能力,是授权的标准方法,但是情况正在改变基于索赔: EE335707.aspx cc163366.aspx http://wwwww.infoq.com/news/news/news/news/2009/10/基于指南的认同 然而,对于所有情况,并不是理想的. 对于旧型号,我发现在权限检查期间使用备忘录可以通过使用回忆来获得性能.这样,我不会去每个会话n次数据库n次检查访问
0 2024-04-15
编程技术问答社区
重复的GetAccessRules、FileSystemAccessRule条目
我从下面的此代码中获取重复的文件系统accessrule: C:\inetpub\wwwroot\AspInfo\Account BUILTIN\IIS_IUSRS : Allow : ReadAndExecute, Synchronize BUILTIN\IIS_IUSRS : Allow : -1610612736 NT SERVICE\TrustedInstaller : Allow : FullControl NT SERVICE\TrustedInstaller : Allow : 268435456 我无法弄清楚它是什么或原因. 和显示的权限不匹配我可以看到的文件filemanager属性. 例如,我如何从此或类似迭代中找到"列表文件夹内容"权限.如果有人知道.NET文档中的一个示例,那将是有帮助的. protected void directoryInfo() { var di = new DirectoryInfo(Server.MapPath(
0 2024-04-15
编程技术问答社区
如何检查一个用户是否被允许读/写一个特定的注册表键?
有人知道我如何可以编程检查(使用C#)我的程序是否能够读取/编写特定的注册表密钥(特别是:" Software \ Microsoft \ Microsoft \ Windows \ currentversion \ currentversion \ run")? 我在问,因为我的程序可以选择启用或禁用"启动"行为.如果不允许当前用户对注册表进行更改,我想禁用此选项.该密钥始终允许由当前用户编写,还是有可能被锁定的可能性?如果是后者,我该如何检查? 我已经看到了几种相互矛盾的检查注册表权限的方法 - 但基本上,我在尝试阅读它之前找不到一种检查特定键的方法.我宁愿在访问密钥之前执行检查,也不愿尝试访问并收到例外. 任何帮助都非常感谢. 汤姆 解决方案 gubertermission ">管理Reg键的安全许可.要检查您是否可以写入访问权限,您可以按照以下方式使用它: RegistryPermission perm1 = new RegistryPerm
0 2024-04-14
编程技术问答社区
使用C#来获取服务器和映射驱动器的ACL列表
我们的IT组的生产变更实施者已被任务审查我们小组中所有各种对象的安全性,主要是为了确保已离开我们的雇员或转移给其他小组的人不再访问我们的服务器共享,Web目录,SQL数据库等.我们最近完成了SQL部分,并且有一个可重复使用的脚本,可以每年运行(或以我们提出的任何频率)运行.它运行良好,我们在10个左右的服务器中审核了20个数据库,并使用了几分钟. 现在,对于服务器的东西.我有一个在C#的应用程序使用.NET 2.0在C#中编写的应用程序,该应用程序将递归扫描目录列表,并将ACL转移到文本文件中.这有效.在本地机器上. UNC和映射的路径不起作用,我会收到以下例外消息:该过程不具有此操作所需的" sesecurityprivilege"特权. 在这条线上: DirectorySecurity DirSec = di.GetAccessControl(AccessControlSections.All); 其中di是从目录[] array中枚举的DirectoryInf
0 2024-04-14
编程技术问答社区
在C#中,我如何在不尝试的情况下检查File.Delete()是否会成功?
在c#,system.io.io.file.delete(filepath)中将删除指定的文件,或提出异常.如果当前用户没有删除文件的权限,它将引起未授权的accessexception. 是否有某种方法可以提前分辨出删除是否可能会抛出未授权的accessexception(即查询ACL以查看当前线程的身份是否已许可删除指定的文件?) ) ) 我基本上要做: if (FileIsDeletableByCurrentUser(filePath)) { /* remove supporting database records, etc. here */ File.Delete(filePath); } ,但我不知道如何实现fileisDeletablebycurrentuser(). 解决方案 实现FileIsDeletableByCurrentUser的问题是不可能这样做.原因是文件系统是不断变化的项目. 在您对文件系统进行的任何检查与
4 2024-04-14
编程技术问答社区
拒绝访问路径'C:\Users\xxx\Desktop'。
我已经彻底搜索了整个访问拒绝的问题,并且没有找到与我自己系统上访问Windows表单有关的任何问题,所有问题与Web应用有关. public partial class Form2 : Form { public Form2() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { byte[] imgdata; FileStream fsrw; string fname; openFileDialog1.Filter = "Sai Files(*.JPG;*.GIF)|*.jpg;*.gif|All files (*.*)|*.*"; openFileDialog1.ShowDialog();//opens the dialog bo
0 2024-04-14
编程技术问答社区
field or property\"ListItemAllFields\"不存在异常
以下代码信用额为Vadim Gremyachev.我的目标是使用CSOM授予某些SharePoint文件夹的用户访问权限.我要实现的目标是访问称为JZhu的库,在JZhu库中,我有两个文件夹folder1和folder2.我试图授予Reader folder1的权限.到目前为止,代码无法正常工作,因为我在第6行中得到例外说: 字段或属性\" listitemallfields \"不存在 ClientContext context = new ClientContext("http://myRealUrl"); Principal user = context.Web.EnsureUser(@"myLoginAccout"); var folder = context.Web.GetFolderByServerRelativeUrl("JZhu/folder1"); var roleDefinition = context.Site.RootWeb.RoleDefin
0 2024-04-14
编程技术问答社区
在一个域中设置命名的管道安全
我有一台我正在通过命名管道设置的服务器.它适用于域的管理员,但是当我在普通用户上测试客户端时,它给出了"拒绝访问路径的访问".因此,这是我试图设置权限以允许域中所有已认证的用户的权限.我在这里做错了什么? 服务器: NamedPipeServerStream pipeServer = new NamedPipeServerStream("message-generator", PipeDirection.InOut, pipeThreads, PipeTransmissionMode.Message, PipeOptions.None); PipeSecurity pipeSecurity = pipeServer.GetAccessControl(); pipeSecurity.AddAccessRule(new PipeAccessRule(@"localdomain\Authenticated Users", PipeAc
0 2024-04-14
编程技术问答社区
如何为一个SPItem赋予SPGroup权限?
我试图找到一个简单的示例,如何为列表项目z给出某个SharePoint x,一个权限级y-但找不到示例代码. 我可能想出的最短代码是为该项目分配特定的用户权限(在这种情况下为"读取器")是以下内容: SPRoleDefinition spRole = spWeb.RoleDefinitions["Reader"]; SPRoleAssignment roleAssignment= new SPRoleAssignment("//myDomain/myUser", "none@example.org", "Name", "Notes"); roleAssignment.RoleDefinitionBindings.Add(spRole); SPLi
0 2024-04-13
编程技术问答社区
在Vista/Windows 7中用.NET 2.0保存文件到桌面
我正在努力更新我们的应用程序之一.它必须使用.NET 2.0.一部分使用 在桌面上创建文件 FileStream fs = new FileStream(Environment.GetFolderPath (Environment.SpecialFolder.DesktopDirectory), FileMode.Create); 但是我在Windows 7中获得了未经授权的Accessexception(还有Vista,我也假设,尽管我还没有测试过).我研究了高程(不是整个程序,而是针对一个单独的组件,该组件会创建文件并在其上执行操作);但是,这似乎需要.NET 3.0或3.5.有什么方法可以使用.NET 2.0访问桌面文件夹? (要求程序作为管理员也不是一个选项) (我进行了搜索,唯一接近我要问的问题是:文件创建在标准帐户(Vista)中失败但是,它正在谈论提升整个应用程序,并且不是.NET 2.0,因此我相信这不是重复) 编辑: 哇,我真的很愚蠢.这实
0 2024-04-13
编程技术问答社区
在System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)中拒绝访问。
我正在尝试上传文件并将其转换为另一种格式,然后再将其保存在我的Web服务器上,但是我会收到以下错误: system.com.ponentmodel.win32 exception(0x80004005):system.diagnostics.process.startwithcreateprocess(processStartInfo startInfo)在System.diaNostics.diaiagnostics.diagnostics.process.process.start() ) 当我尝试在本地计算机的Web服务器(Windows 7)上执行此操作时,没有问题,但是将网站部署到我的Web托管提供商后,我会遇到此错误,该网站上有Windows Server 2008 R2. 我正在使用ASP.NET C#.我猜这是一个权限问题,但我不确定如何提高任何权限.请帮助! 解决方案 我怀疑您是否可以为标准ASPNET用户执行程序的权限(这也是不良的实践).一个更好的选择
0 2024-04-13
编程技术问答社区