背景:
我们有一个Web应用程序(Forms,.NET 3.5),用户通过HTTPS使用基本身份验证进行身份验证。这将使用本地计算机上的用户帐户进行身份验证。 (不是活动目录域)。
用户根据其权限属于各种Windows组。 (所以Dave可能是WebAdministrator的成员)
该应用程序有100多个存储过程,这些过程具有基于Windows组的EXECUTE / etc权限。
我需要做什么:
我必须从基本身份验证更改为表单身份验证,以允许我们的用户进一步访问安全策略(重置后更改密码等内容),并允许网站的特定用户(非)锁定需要它的用户。 / p>
到目前为止我做了什么:
而是让所有用户创建用户名并再次登录。 (数据库中的很多数据都映射到Windows使用)。我创建了一个登录页面,确定它们是否已经存在于成员资格表中(如果是这样,它会将其记录下来)。如果他们不在成员资格中,它会根据Windows商店检查输入的凭据,如果有效,则根据这些详细信息/密码创建成员资格用户,并通过该方法登录。
这样,它不会为登录创建障碍,并会自动将它们添加到新的成员资格存储中。这似乎按预期工作。
问题:
以前,一旦用户登录,将根据该Windows组的EXECUTE权限运行各种存储过程。 现在,我无法告诉SQL服务器哪个成员用户属于哪个Windows组,因此SQL Server不知道Dave是WebAdministrator的成员,并且无法使用执行存储过程。
现在有很多这些权限。我可以做的是将ASPNET Membership角色映射到windows组。这会有用吗?或者我是以错误的方式来做这件事的?
我已经看到很多关于使用Active Directory提供程序来管理角色的事情,但这些是本地计算机组。 (或者Active Directory包含DOMAIN和WINNT)