我的Web应用程序从一个Windows用户帐户连接数据库,但不与第二个Windows用户帐户连接

时间:2013-12-18 07:25:13

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

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

  • 管理员
  • 佐勒菲卡尔

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

我的connectionstring在web.config文件的两个帐户中是相同的,这里是我的connectionstring和数据库的其他设置

<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>

当我在administaror帐户中运行网站管理工具时,其用户名如下当前用户名:ZULFIQAR-PC \ ADMINISTRATOR

并且在第一个帐户中它就是 当前用户名:ZULFIQAR-PC \ Zulfiqar

Plz任何人帮我解决这个问题我已经启用了sql tcp / ip ports等。

2 个答案:

答案 0 :(得分:0)

尝试2遵循不同的方法。

方法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" />

改变路径:数据源路径

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

使用此sql serve datasource标记

<add name="cs" connectionString="server=localhost;User Id=root;database=db_hrms"/>

方法2:

您创建的项目(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应用程序中有所不同。 但您连接的数据库在其他用户中不存在。

答案 1 :(得分:0)

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