我有一个ASP.NET MVC网站,其中包含私有站点管理应用程序,并获得了ASP.NET SQL支持的授权。我需要为公共网站添加登录名,以允许访问者注册一个帐户。

我认为我应该为公共站点创建完全独立的存储空间,而不是扩展现有的用户数据库并依靠角色将公共用户远离后台。有什么理由不这样做吗?

有帮助吗?

解决方案

就在这里。您可以将私人数据库与公共数据库隔离。创建2个数据库用户帐户,确保他们只能访问所需的1个数据库。公共和私人应用将使用不同的帐户。然后锁定数据库帐户,以确保它们仅具有Web应用程序运行所需的权利。 (我不确定您正在使用什么数据库。如果您使用的是MS-SQL,请确保它们无法访问XP_CMDSHELL,如果您在MySQL下,请确保该帐户没有文件特权。还有其他注意事项。但这超出了这个问题的范围。)

如果在您的网站的公共部分中发现了SQL注入漏洞,则他们将能够访问该数据库,使您的私人网站不受攻击影响。

其他提示

时间和潜在的金钱将是一个原因之一。否则,如果您有时间。根据需求,不确定目前的问题,它也可能会增加很多复杂性...

Hth。

您会有一个以上角色的用户吗?您能否最终将同一用户存储在一个以上的数据库中?如果是这样,我将使您的用户保持在统一的数据库中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top