我可以根据SQL Server数据库表对SVN用户进行身份验证吗



我正在尝试为Web应用程序设置一个简单的文档管理系统。

Web应用程序是用PHP编写的,并使用MSSQL数据库。

在MSSQL数据库中;"人";标识人员的表格";登录";其包含到Persons表中的行的Login;SchoolClass;包含学校的课程。

用另一张桌子";PersonsToSchoolClasses;我能够确定哪个人在哪个类中。

当我们现在看到这一点时,我们可以认识到;类";包含组;"人";我们在SVN中需要的用户
此类及其关联经常会发生变化。

现在我用svn做实验。我意识到这正是我所需要的。

我试着在stackoverflow.com上发布以下问题来设置它:如何在svn存储库中设置权限?

这里描述了我必须手动配置每个组和每个用户。

最后是我的问题:
是否可以从数据库表中配置组和用户?也许使用SQL?我不希望某些文件存储所有用户和组。此外,密码已包含在数据库中。我只需要一种方法,SVN获取这些表并使用它

是否可以从数据库表中配置组和用户

这取决于情况。

如果您通过mod_dav_svn将Subversion与Apache一起使用,那么处理身份验证的实际上不是Subversion,而是Apache。这意味着您可以使用Apache支持的任何方法来执行身份验证。您链接到的问题只是关于使用svnserve程序,而不是Apache。

看起来您可以使用Apache的mod_authn_dbd来设置身份验证,使用mod_dbd来设置数据库访问。

从文档中,mod_dbd可以使用FreeTDS库连接到MS SQL Server。然而,这个功能附带了一个巨大的安全警告。简而言之,FreeTDS不支持带有参数化查询的prepared语句。这意味着,除非您非常小心,否则用户可能会执行SQL注入攻击。

这还有另一个缺点。除非你碰巧足够幸运,已经有了这些模块,否则你需要编译它们。目前还不清楚你是在Linux上还是在Windows上,但不管怎样,它都会是一只真正的熊。

还有一个ODBC驱动程序,但在文档中它被描述为来自第三方,这意味着你几乎肯定必须编译它

老实说,我建议不要使用这种方法,除非你已经掌握了模块。仅仅写出一个.htpasswd文件是没有羞耻感的。只需记住使用摘要式身份验证。

最新更新