繁体   English   中英

使用SQL登录名和ASP.NET MVC登录到SQL Server

[英]Logging in to SQL Server using SQL logins with ASP.NET MVC

我正在向现有的应用程序数据库中编写一个小型插件移动应用程序,该应用程序通过SQL Server登录名存储登录详细信息:

登录

我希望能够在我的移动Web应用程序中使用这些现有的登录名(如果可能的话,还有权限),但是我找不到是否有简便的方法来执行此操作。 我希望有一个现有的提供程序,允许我通过web.config进行此操作。

有什么方法可以不必手动编码所有登录/身份验证的方法吗?

例如:

<providers>
    <add name="SQLProfileProvider" type="System.Web... />
</providers>

另外,有人知道有什么资源可以帮助我手动完成吗?

如果我是个白痴,请不要苛刻,这是我第一次进入asp.net!

更新:

也许不清楚我要做什么,所以我会尝试扩展。

我有一个现有的桌面应用程序(不受我的控制)。 它使用SQL Server 2008来存储其数据,并使用SQL Server登录名对用户进行身份验证。

我正在编写一个Web应用程序以连接到该数据库。 我想允许用户使用桌面应用程序中的现有登录详细信息登录Web应用程序。

例如。 我有一个数据库,用户为“ abc123”:

在此处输入图片说明

我希望能够在ASP中使用此登录名:

登录画面

我知道可以在MVC中使用我自己的成员资格提供程序,但是如果已经编写了此文件, 我希望能够使用现有的成员资格提供程序

有人知道这个会员资格提供者吗?

这个问题实际上很有趣。 我从未听说过直接使用sql登录名的现成的成员资格提供程序。 所以,我的回答是“不,不存在”。

我无法想象这将很难编写。 只需实施MembershipProvider( http://msdn.microsoft.com/zh-cn/library/System.Web.Security.MembershipProvider ( v=vs.110 ) .aspx )并为所有“ CreateUser”内容运行sql脚本。 它应该以非常直接的方式工作。

我只需要注意,这是数据库登录名的非常传统的用法。 但是我看到您将如何立即获得应用到数据库中用户/角色设置的任何权限的好处。 这不是很可扩展,但是您将拥有非常精细的权限。

也许更具可扩展性的解决方案是将一个用户表映射到表示某些类型(例如ReadOnlyLogin,WriteableLogin等)的通用登录名。这样,您可能有100个用户,并在一个表中包含了用户名和密码,然后分配了它们到特定的dblogin(如上所述)。 用户登录后,只要他们访问数据库,便会使用给定的登录名,从而强制对登录名设置任何权限。 因此,Bob,Frank和Harry将使用ReadOnlyLogin,而Sally,Jane和Samantha将使用WriteableLogin。 只是一个想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM