相关疑难解决方法(0)

"本地系统"帐户与"网络服务"帐户之间的区别是什么?

我编写了一个Windows服务,它产生了一个单独的进程.此过程创建一个COM对象.如果服务在"本地系统"帐户下运行,一切正常,但如果服务在"网络服务"帐户下运行,则外部进程启动但无法创建COM对象.从COM对象创建返回的错误不是标准的COM错误(我认为它特定于正在创建的COM对象).

那么,我如何确定"本地系统"和"网络服务"这两个帐户的区别?这些内置帐户看起来非常神秘,似乎没有人知道它们.

windows security

374
推荐指数
1
解决办法
34万
查看次数

为什么拒绝访问路径?

我有一个问题,我试图删除我的文件,但我得到一个例外.

if (result == "Success")
{
     if (FileUpload.HasFile)
     {
         try
         {
              File.Delete(Request.PhysicalApplicationPath + app_settings.login_images + txtUploadStatus.Text);
              string filename = Path.GetFileName(btnFileUpload.FileName);
              btnFileUpload.SaveAs(Request.PhysicalApplicationPath + app_settings.login_images + filename);
         }
         catch (Exception ex)
         {
               Message(ex.ToString());
         }
      }
}
Run Code Online (Sandbox Code Playgroud)

另外我应该注意,我尝试删除的文件夹可以完全控制网络服务.

完整的异常消息是:

System.UnauthorizedAccessException:拒绝访问路径'C:\ Users\gowdyn\Documents\Visual Studio 2008\Projects\hybrid\hybrid\temp_loginimages\enviromental.jpg'.at System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)at System.IO.File.Delete(String path)at hybrid.User_Controls.Imgloader_Add_Edit_Tbl.btnUpdate_Click(Object sender,EventArgs e)in C:\ Users\gowdyn\Documents\Visual Studio 2008\Projects\hybrid\hybrid\User_Controls\Imgloader_Add_Edit_Tbl.ascx.cs:第242行

有任何想法吗?

c# asp.net io unauthorizedaccessexcepti

141
推荐指数
14
解决办法
51万
查看次数

如何使用localDB将ASP.NET MVC 4应用程序部署到Windows 7上的本地IIS?

当我尝试使用Visual Studio 2013在Windows 7上使用本地IIS运行我的ASP.NET MVC 4应用程序时.当应用程序尝试连接到localDB\v11.0时,我遇到以下错误

'/'应用程序中的服务器错误.

建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供程序:SQL网络接口,错误:50 - 发生本地数据库运行时错误.无法创建自动实例.有关错误详细信息,请参阅Windows应用程序事件日志.)

2个事件日志是

尝试访问LocalDB实例注册表配置时发生意外错误.有关错误详细信息,请参阅Windows应用程序事件日

无法获取本地应用程序数据路径.很可能没有加载用户配置文件.如果在IIS下执行LocalDB,请确保为当前用户启用了配置文件加载.

我在网上找到的大多数解决方案都参考了这篇文章:http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-1-user-profile.aspx

我在描述的情况和我的情况之间看到的唯一区别是所描述的错误代码是0而我的错误代码是50.但是,建议的解决方案对我不起作用.

即使我将修改setProfileEnvironment设置为true并且我花了数小时的时间来使用不同的processModel参数和应用程序池,我也无法通过此错误.

.net asp.net iis windows-7 localdb

17
推荐指数
2
解决办法
3万
查看次数

如何在IIS7.5 Express上运行PHP?

我有Win XP SP3并安装了IIS7.5 Express并希望在其上运行PHP.

我能够在服务器上运行简单的HTML代码,我能够通过运行iisservices.exe来启动和停止服务器,但我无法在其上运行php脚本.

如果我有以下PHP文件:

<? php 
echo "hello world";
?>
<html>HI</html>
Run Code Online (Sandbox Code Playgroud)

输出HI但PHP脚本不运行.

我按照本文中描述的步骤安装PHP:

http://learn.iis.net/page.aspx/724/install-and-configure-php/

但是,由于IIS Express没有IIS管理控制台MMC管理单元,因此无法从第10步开始.

如何配置IIS Express以运行PHP?

mysql5 iis-7.5 windows-xp-sp3 iis-express php-5.2

16
推荐指数
2
解决办法
2万
查看次数

如何在IIS 8上运行应用程序时委派Windows身份验证会话?

我在ASP.Net MVC 5 Framework的顶部用c#编写了一个内部网应用程序.我的应用程序配置为通过"Windows身份验证"方法对用户进行身份验证.此应用程序在IIS 8上运行.

我的应用程序使用第三方SDK与我在同一域上运行的另一个程序进行交互.此第三方应用程序允许用户也通过提供的SDK使用Windows身份验证登录.

问题

但是SDK与之通信的服务器始终返回"无效的用户名/密码无效".

经过深入的故障排除后,我发现IIS没有返回正确的用户名.它不是返回"Authenticated User",而是返回正在运行pool app的用户.因此,要解决此问题,我将应用设置更改为以下内容

  • 我禁用了"匿名身份验证"
  • 我启用了"Windows身份验证"
  • 我启用了"ASP.NET模拟",而"ASP.NET模拟"设置设置为"经过身份验证的用户".注意:由于某种原因,这需要"经典"托管管道而不是"集成".
  • 我将AppPool管理的管道设置更改为"Classic"v4
  • 将运行AppPool的用户更改为"网络服务"而不是"ApplicationPoolId"
  • 然后将身份验证提供程序列表保持为"协商"和"NTLM"
  • 最后,我保持启用"Kernal模式身份验证".

所以上面的设置返回了正确的用户名,但是它没有将密码委托给SDK.我猜是因为通信滚刀,IIS是保护登录的用户,它是不会让我委托密码到另一个服务/ SDK.

那么我尝试将我的设置更改为以下内容

  • 我将AppPool管理的管道设置更改为"Integrated"v4.0
  • 将运行AppPool的用户更改为"网络服务"
  • 我禁用了"匿名身份验证"
  • 我启用了"Windows身份验证"
  • 禁用了 "ASP.NET模拟"
  • 身份验证提供程序列表"协商:Kerberos","协商"和"NTLM"
  • 我禁用了"Kernal模式身份验证",因为它不能与"Kerberos"提供程序一起使用.

所以上面阻止我完全登录我的MVC应用程序,它一直在提示我一遍又一遍地提取我的凭据.

为了解决这个问题,我将我的web服务器名称放在我的域控制器中,然后我转到"委派"选项卡并将其更改为"信任此用户以委派任何服务(仅限Kerberos)"

没有这个设置,允许我登录我的MVC应用程序.但这一次,它既没有将用户名或密码委托给SDK.实际上,我获得的用户名是PoolApp用户名而不是经过身份验证的用户.

为了涵盖我的所有基础,我将AppPool用户更改为对SDK所连接的服务器具有Windows身份验证访问权限的实际用户.果然工作得很好,我能够连接到第二个服务.但是,总是委托正在运行的应用程序池的SDK,而不是委托连接/认证的用户名/密码,用户名/密码.

总之,IIS不会出于某种原因将用户名/密码委托给SDK.如何让IIS将连接的用户会话/凭证委派给其他服务?

由于用户正在使用"NTLM"身份验证而不是Kerberos,因此委派也可能失败,但服务器只会在仅Kerberos身份验证时委派"如果是这种情况,我该如何强制用户使用"Kerberos "身份验证而不是"NTLM?

c# asp.net asp.net-mvc windows-authentication asp.net-mvc-5

12
推荐指数
1
解决办法
1630
查看次数

如何确定Windows标识是对应于本地用户还是域用户?

我有一个WindowsIdentity,它对应于经过身份验证的用户.如何确定标识是否与计算机上的本地用户,已添加到计算机的域用户或未添加到计算机的域相对应?

让我们说我有3个用户帐户:

  • DomainUser(域用户组的成员,未添加到任何本地组)
  • LocalUser(在机器上创建的本地用户)
  • MappedDomainUser(已添加到计算机上的组的域用户)

我该如何区分

  • DomainUser和LocalUsers
  • LocalUser和MappedDomainUser
  • DomainUser和MappedDomainUser

截至目前,我依赖于用户名并检查它是否以机器名称开头.然后,我通过检查用户所属的组(如果它是所有域用户的一部分)进一步区分.不是我确定的最好的方式.

因为我有来自WindowsIdentity.User属性的用户sid,我可以以某种方式使用它吗?

c# windows

4
推荐指数
1
解决办法
6537
查看次数

NLog - 如何解密日志文件

我登录了我的网站,我想对日志文件进行加密。要加密日志文件,我只需将属性fileAttributes="Encrypted" 添加到配置文件中,您如何在此处看到:

    <target name="file" xsi:type="File"
        layout="${longdate} | ${pad:padding=-5:inner=${level:uppercase=true}} | ${message} ${onexception:inner=${newline}   ${exception:format=ToString}}"
        fileName="${basedir}/Log/log_info.log"
        fileAttributes="Encrypted"
        archiveFileName="${basedir}/Log/log_info_{#}.log"
        archiveAboveSize="1048576"
        archiveNumbering="Rolling"
        maxArchiveFiles="2"
        concurrentWrites="true"
        keepFileOpen="false" />
Run Code Online (Sandbox Code Playgroud)

问题:如何解密文件以查看日志记录?

c# encryption nlog

4
推荐指数
1
解决办法
1658
查看次数

未找到视图"索引"或其主数据或视图引擎不支持搜索的位置.在IIS 8.5上部署MVC5/MVC4之后

我从模板2013 VS创建了MVC 5应用程序.如果我从VS运行它可以工作. 在此输入图像描述

我使用发布和文件部署到我的文件夹,在IIS上我设置了新的池:v4,集成.

在此输入图像描述

比我使用这个池创建新网站

在此输入图像描述

我重新启动IIS,但如果我运行应用程序,我会收到错误,说它无法找到我的视图.

在此输入图像描述

我的文件夹包含视图

在此输入图像描述

我的特色设置如下:

在此输入图像描述

我也有MVC 4的问题,但我得到这样的页面.

在此输入图像描述

在我的RouteConfig.cs中是这样的:

namespace MVC5
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

也许我的未来不适合IIS特色,但我迷失了.谢谢你的帮助.

asp.net iis asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

3
推荐指数
2
解决办法
4921
查看次数

IIS中托管的WCF服务库的log4net

对于一个项目,我有一个WCF服务库(目前非常简单),它通过WCF服务网站项目在IIS 7.5中托管.

对于该WCF服务库,我需要log4net来记录一些重大事件.

但是在启动和访问网站后,没有创建日志文件.

以下是我的配置详细信息:

WCF服务库:

App.config (is containing the following)

<appSettings>
    <add key="log4net-config-file" value="log4net.config"/>
    <!-- <add key="log4net.Internal.Debug" value="true"/> -->
</appSettings>

log4net.config

<?xml version="1.0"?>
<configuration>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <log4net>
    <root>
      <level value="DEBUG"/>
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <file value="C:\\Temp\\Logfile.txt"/>
      <appendToFile value="true"/>
      <rollingStyle value="Size"/>
      <datePattern value="yyyyMMdd"/>
      <maxSizeRollBackups value="5"/>
      <maximumFileSize value="100KB"/>
      <staticLogFileName value="true"/>
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%d [%t] %-5p %c - %m%n"/>
      </layout>
    </appender>
  </log4net>
</configuration>

In AssemblyInfo.cs
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

On top of the …
Run Code Online (Sandbox Code Playgroud)

c# iis wcf log4net

2
推荐指数
2
解决办法
8399
查看次数

无法删除C#中的文件 - 未经授权的访问异常

在我的ASP.Net Web应用程序中,我在HTML 5画布上加载了一个图像,并允许用户在图像上绘制一些图形(矩形框).一旦用户完成了图像上的图像,我必须将图像保存回同一位置的同名服务器.

AJAX用来将图像数据传输到服务器.这部分成功完成.在我的服务器代码中,首先我尝试删除文件,然后在同一位置创建一个具有相同名称的新文件.

所以,当我删除文件时,它正在提升 UnAuthorizedAccessException is handled by user code Access to the path 'D:\vs-2010projects\delete_sample\delete_sample\myimages\page_1.png' is denied.

这是我的服务器端C#代码......

[WebMethod()]
public static void UploadImage(string imageData)
{
    byte[] data = Convert.FromBase64String(imageData);
    if(File.Exists("D:\\vs-2010projects\\delete_sample\\delete_sample\\myimages\\page_1.png"))
    {
        File.Delete("D:\\vs-2010projects\\delete_sample\\delete_sample\\myimages\\page_1.png");
    }

    FileStream fs = new FileStream("D:\\vs-2010projects\\delete_sample\\delete_sample\\myimages\\page_1.png", FileMode.Create);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(data);
    bw.Close();
}//UploadImage
Run Code Online (Sandbox Code Playgroud)

有没有办法删除文件?

请指导我解决这个问题.

c# asp.net c#-4.0

1
推荐指数
1
解决办法
2165
查看次数