2

我在写一个MVC应用程序,它必须使用SQL Server帐户进行身份验证。我想用MembershipProvider,RoleProviderPrincipalProvider来做这件事(这里是:MVC3 - Authenticate with SQL Server Accounts)。使用SQL Server帐户(2005和2008)

现在我的问题是:我如何使用SQL Server帐户通过C#进行身份验证?我不知道从哪里开始,以及这是多么复杂(与MVC3一起)。有人可以提供一个例子吗?

在此先感谢。

回答

2

您的ASP.NET应用程序将与数据库交谈的方式将通过数据库登录/用户进行。在SQL Server上,您将创建一个登录这样:

create login YourWebLogin with password = '[email protected]' 
go 

这是一个基本的登录,可以真正做什么(研究服务器权限here)。然后,你需要创建一个SQL Server用户关闭此登陆的,就像这样:

use YourASPNETDb 
go 

create user YourWebUser for login YourWebLogin 
go 

现在你有安全上下文访问YourASPNETDb与SQL Server的用户,通过SQL Server登录的情况下。 (研究数据库权限here

您的ASP.NET MVC应用程序将通过您的登录名/用户访问数据库,并且此连接信息将存储在连接字符串中。这是一个典型的SQL Server连接字符串:

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

您的会员/角色提供将利用与正确的凭据此连接字符串来访问你的数据库。

这只是关于一切如何协同工作的高级视图。有几个运动部件,但这应该让你开始。

+0

嗨,我只是忘记了一些信息。 SQL帐户已经存在(我不必创建或删除其中的任何一个),并且它们都具有“完整权限”。根据已登录的SQL用户使用数据库表管理他们的权限。我不知道,如果这是可能的?! – Sleepwalker

+0

@Sleepwalker如果已经创建了具有足够权限的登录名/用户,并且您知道登录名的凭证,那么只需构建并使用连接字符串,就像在我的文章中一样。 – 2011-12-22 19:52:48

+0

这是一个很好的观点。但是,我怎样才能为不同的用户创建动态连接字符串?然后,我如何验证凭证是否正常工作? – Sleepwalker

相关问题