zoukankan      html  css  js  c++  java
  • [翻译]在ASP.NET Web应用程序中应用FileStream特性

    Q:我在ASP.NET应用程序中使用基于表单认证。我想要使用FileStream(文件流),但验证成为了障碍。我该如何进行设置?

    A:
    如果您使用的是匿名访问和基于表单的认证,那么无法结合Windows用户。因此,您无法将来自web客户端的Windows用户在SQL Server中进行验证。解决方法就是使用IIS进程级别的身份来使用集成安全登录到SQL Server。

    即使对于IIS匿名访问,IIS也有一个Windows级别的进程级别身份。您可以利用这个来允许进程帐号通过Windows验证来访问SQL Server。

    逐步说明如下:
    1. 确保IIS使用"Network service"身份。这个是默认设置,不过需要按照如下步骤在IIS管理的应用程序池中进行如下设置:
    右击您的应用程序使用的ASP.NET应用程序池,选择属性,到“标识”标签,确保您选择了“预定义”与选择了“Network Service”。如果您没有这样设置,您会受到错误信息:用户'NT AUTHORITY\ANONYMOUS LOGON'登陆失败

    2. 确保该IIS帐号能访问SQL Server。您可以使用类似sp_grantlogin 'domain1\machineA$ '的T-SQL语句来赋予登陆权限。赋予必要的权限。

    3. 将web.config配置如下:
     <authentication mode="Forms" />
     <identity impersonate="false"/> 
    (注意默认为false。如果您允许对IIS的匿名访问,您不能将这个设置为true。不然您可能会获得如下错误信息:
    登陆失败。该登陆是来自不受信任的域,不能使用Windows验证。)

    4. 配置网站,允许匿名访问

    5. 配置所有的SQL连接语句使用Windows验证
    在您的Filestream应用程序中,确保所有的SQL连接使用了“集成安全”,例如:
    SqlConnection sqlConnection = new SqlConnection("Integrated Security=true;server=MachineB");

    6. 以上的步骤允许您的应用程序以Domain1\MachineA$帐号使用Windows验证连接SQL Server

    注意:您也可以配置IIS进程帐号簿使用“Network Service”帐号而使用其他帐号。

  • 相关阅读:
    11-性能测试的工具:七大测试场景如何选择高质量的测试工具
    /10-性能测试的规划和步骤:为什么性能测试不容易一蹴而就呢
    09-性能测试的种类:如何快准狠地抓住一个测试的本质
    python 基础 4.5 用函数实现九九乘法表
    python 基础 4.4 生成式 生成器 迭代器
    python 基础 4.3 高阶函数下和匿名函数
    python 基础 4.2 高阶函数上
    1 zabbix3.2.4 安装
    python 基础 3.2 文件 for 练习
    python 基础 4.1 函数的参数
  • 原文地址:https://www.cnblogs.com/galaxyyao/p/1459613.html
Copyright © 2011-2022 走看看