解决方法:
如果你使用Intergared Security模式连接数据库,你需要添加正确的windows user account作为数据库的登录名。根据你使用的是ASP.NET Development Server还是Internet Information Services(IIS)的不同,对应的windows user account也不同。另外不同的操作系统也有区别。
如果你使用的是ASP.NET Development Server,那么你的应用程序的执行环境是你当前的windows user account。这时,你需要将你的windows user account添加为数据库的登录名。
如果你使用的是IIS的话,你需要添加ASPNET帐号(WINDOWS XP)或者是NT AUTHORITY/NETWORK SERVICE帐号(VISTA)作为数据库的登录名(见下图)。
创建过登录名,还需要将登录名映射到数据库用户的合适的角色。例如,为了验证用户(authenticate),需要aspnet_Membership_BasicAccess角色;如果要创建新用户,还需要aspnet_Membership_FullAccess角色(见下图)。
使用web development server对应的是windows user account
使用iis对应的是aspnet account(winxp) or authority/network service account(vista)。