【问题标题】:my web application connect with database from one windows user account but not with second windows user account我的 Web 应用程序从一个 Windows 用户帐户连接到数据库,但不使用第二个 Windows 用户帐户连接
【发布时间】:2023-03-06 19:21:01
【问题描述】:

我在 Visual Studio 2010 (mvc3 razor) 中创建了一个 Web 应用程序,并在 sql server 2008 r2 中使用我自己的数据库,并使用 regsql 工具在我的数据库中添加了 aspdbnet 数据库。我在其中创建用户和角色,一切都很好。我使用笔记本电脑创建应用程序,我的系统名称是 Zulfiqar_PC。我的系统上有两个不同的用户帐户

  • 管理员
  • 祖尔菲卡尔

在使用网站管理工具时,我已经在 Zulfiqar 用户帐户中完成了所有工作。它工作正常但是现在当我想从第二个管理员用户运行我的应用程序时,它不会返回我的数据并给我错误 “用户 'Zulfiqar-PC\Administrator' 登录失败。”

我的连接字符串在 web.config 文件中的两个帐户中是相同的,这是我的连接字符串和数据库的其他设置

<add connectionString="data source=(local);   Initial Catalog=BA; User ID=sa;Password=sql123" name="dbconnection" providerName="System.Data.SqlClient" />
     <providers>
    <clear/>
    <remove name="AspNetSqlMembershipProvider" />
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider,&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;System.Web, Version=2.0.0.0, Culture=neutral,&#xD;&#xA;PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="dbconnection" applicationName="/" />
  </providers>
</membership>

<profile>
  <providers>
    <clear />
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="dbconnection" applicationName="/" />
  </providers>
</profile>

<roleManager enabled="true">
  <providers>
    <clear />
    <add connectionStringName="dbconnection" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
    <add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
  </providers>
</roleManager>

当我在管理员帐户中运行网站管理工具时,它的用户名是 Current User Name:ZULFIQAR-PC\ADMINISTRATOR

在第一个帐户中如下 当前用户名:ZULFIQAR-PC\Zulfiqar

请任何人帮助我解决这个问题我已经启用了 sql tcp/ip 端口等。

【问题讨论】:

    标签: c# sql sql-server asp.net-mvc asp.net-mvc-3


    【解决方案1】:

    尝试两种不同的方法。

    方法一:

    请将数据库文件/SQL 连接字符串更改为其他类似的声明

    <add connectionString="data source=( CHANGE HERE TO DATABASE PATH ); Initial Catalog=BA; User ID=sa;Password=sql123" name="dbconnection" providerName="System.Data.SqlClient" />
    

    将路径更改为:DATA SOURCE PATH LIKE

    "Datasource="C:\PROJECT\MYDATABASE.mdb"" \\ Project Database

    使用这个 sql 服务数据源标签

    &lt;add name="cs" connectionString="server=localhost;User Id=root;database=db_hrms"/&gt;

    方法二:

    您创建的项目(VS C# 中的 Web 应用程序)存在于

    C:\Users\User_Name_1\Documents\Visual Studio 2010\Projects
    C:\Users\User_Name_2\Documents\Visual Studio 2010\Projects
    

    您必须复制项目并使用不同的用户(其他用户)运行它两者都为 Web 应用程序产生相同的结果,但它在 Windows 应用程序中有所不同。 但您要连接的数据库在其他用户中不存在。

    【讨论】:

    • 在更改连接字符串时它不会连接。两个帐户中都存在数据库
    • 在此处将 localhost 更改为您的 PC 名称,请检查任何拼写错误或密码更改等放入。 3 Web 配置文件中的轮胎架构。
    • 在 Web.config 文件和 SqlConnection con = new SqlConnection(System.Configuration.ConfigurationManager .ConnectionStrings["cs"].ConnectionString); con.Open();在点击/其他事件代码页..尝试。
    【解决方案2】:

    我通过创建管理员帐户并在 sql server 中为该帐户分配适当的服务器角色解决了我的问题。我在 sql server 中没有管理员帐户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-08
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      相关资源
      最近更新 更多