网站地图>收藏本站>设为首页
定做流程>服务项目>价格参考>付款方式>诚邀加盟>关于本站>联系我们
当前位置:5173毕业设计论文网文章资讯综合频道PHP类毕业设计

基于apache和php平台的subversion用户管理系统

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2010-10-25 21:23:00
QQ交谈在线咨询详情 5173论文网竭诚为您服务 本站永久域名:www.lw5173.com

5模块功能的详细实现过程
5.1本系统使用的subversion权限机制
Apache的HTTP服务器是一个Subversion可以利用的“重型”网络服务器,通过一个自定义模块,httpd可以让Subversion版本库通过WebDAV/DeltaV协议在客户端前可见,WebDAV/DeltaV协议是HTTP 1.1的扩展。这个协议利用了无处不在的HTTP协议是广域网的核心这一点,添加了写能力—更明确一点,版本化的写—能力。结果就是这样一个标准化的健壮的系统,作为Apache软件的一部分打包,被许多操作系统和第三方产品支持,网络管理员也不需要打开另一个自定义端口。这样一个Apache-Subversion服务器具备了许多svnserve没有的特性,但是也有一点难于配置,灵活通常会带来复杂性。
为了让你的版本库使用HTTP网络,你基本上需要两个包里的四个部分。你需要Apache httpd 2.0和包括的mod_dav DAV模块,Subversion和与之一同分发的mod_dav_svn文件系统提供者模块,如果你有了这些组件,网络化你的版本库将非常简单,如:
配置好httpd 2.0,并且使用mod_dav启动,
为mod_dav安装mod_dav_svn插件,它会使用Subversion的库访问版本库,并且
配置你的httpd.conf来输出(或者说暴露)版本库。
你可以通过从源代码编译httpd和Subversion来完成前两个项目,也可以通过你的系统上的已经编译好的二进制包来安装。最新的使用Apache HTTP的Subversion的编译方法和Apache的配置方式可以看Subversion源代码树根目录的INSTALL文件。
在Subversion的服务器端,它的最大的独特之处,在于它可以通过一个扩展模块与 Apache 的 HTTP 服务器相结合,实现很多高级的管理功能和安全特性。与 CVS 相比,Subversion 实现了更加先进和安全的用户认证功能。在 Apache 的支持下,用户可以通过 HTTP 协议访问版本库,管理员可以对用户访问 HTTP 的权限做出具体的设置,同时 Subversion 还可以获得 SSL 传输加密,用户数据加密,以及目录级的访问控制等特性。而本系统正是基于此,使用mysql数据库的users表中内容作为用户登录的认证。使用authz文件作为权限控制文件。
5.2数据流程图

5.2.1用户注册数据流程图

5.3数据库结构设计
数据库当中各个表的详细设计
2 记录用户基本信息
主键
列(属性)名
中文名称
类型
宽度
是否允许为空
username
用户名
varChar
25
NOT NULL
 
passwd
用户密码
varChar
25
NOT NULL
 
groups
用户组
varChar
25
NOT NULL
 
realname
用户真实姓名
varChar
10
NOT NULL
 
dept
所属部门
varChar
50
NOT NULL
 
tel
联系电话
varChar
20
NOT NULL
3 记录未审核注册用户信息
主键
列(属性)名
中文名称
类型
宽度
是否允许为空
username
用户名
varChar
25
NOT NULL
 
passwd
用户密码
varChar
25
NOT NULL
 
groups
用户组
varChar
25
NOT NULL
 
realname
用户真实姓名
varChar
10
NOT NULL
 
dept
所属部门
varChar
50
NOT NULL
 
tel
联系电话
varChar
20
NOT NULL
4 用来进行apache登录认证
主键
列(属性)名
中文名称
类型
宽度
是否允许为空
username
用户名
varChar
25
NOT NULL
 
passwd
用户密码
varChar
25
NOT NULL
 
groups
用户组
varChar
25
NOT NULL
5 记录用户权限数据以及生成subversion权限配置文件
主键
列(属性)名
中文名称
类型
宽度
是否允许为空
 
number
列名
int
20
NOT NULL
 
group
用户组名
varChar
50
NOT NULL
 
name
用户名
varChar
50
NOT NULL
5.4数据库操作
5.4.1数据库的连接、添加、删除和更新等
class CSvnDb
      {
      //private
             private $m_link = NULL;
             function __construct()                       //数据库连接
             {
                    $host = 'localhost';
                    $user = 'svn_db';
                    $passwd = '1234';
                    $db = 'svn_usr';
                    $m_link = mysql_connect($host, $user, $passwd);
                    if (!$m_link)
                    {
                           die('Could not connect: ' . mysql_error());             
                    }
                    $db_selected = mysql_select_db($db, $m_link);   
                    if (!$db_selected)
                    {
                           mysql_close($link);
                           die ('Could not use db : ' . mysql_error());
                    }
            }
      //public                            //检查值是否存在
             public function check_field_value_exist($table,$field,$value)
             {
                    $sql = "SELECT $field FROM $table WHERE $field='$value'";
                    $query = mysql_query ($sql);
                    if(!$query)
                    {
                           die ('Invalid query: ' . mysql_error());       
                    }
                    if(mysql_num_rows($query) == 0)
                    {
                           return false;
                    }
                    else
                    {
                           return true;
                    }
             }
             public function add_user_array($table,$userinfo) //增加用户
             {
$sql = "INSERT INTO `$table` ( `username` , `passwd` , `groups` , `realname` , `dept` ,`tel`)VALUES('".$userinfo['username']."','".$userinfo['passwd']."','".$userinfo['groups']."','".$userinfo['realname']."','".$userinfo['dept']."','".$userinfo['tel'].".' )";
              $query = mysql_query ($sql);
              if(!$query)
                    {
                           die ('Invalid query: ' . mysql_error());       
                    }
                    return true;                  
             }
        public function add_user_array1($table,$userinfo)
              {
$sql = "INSERT INTO `$table` ( `user_name` , `user_password` , `user_group`)VALUES('".$userinfo['username']."','".$userinfo['passwd']."','".$userinfo['groups'].".' )";
                    $query = mysql_query ($sql);
                    if(!$query)
                    {
                           die ('Invalid query: ' . mysql_error());       
                    }
                    return true;                  
             }
             Public
function add_user($table,$u_name,$u_pwd,$u_rname,$u_dept,$u_tel)
             {
$sql = "INSERT INTO `$table` ( `username` , `passwd` , `groups` , `realname` , `dept` , `tel` )VALUES ('$u_name', '$u_pwd', 'user', '$u_rname', '$u_dept', '$u_tel')";
                  $query = mysql_query ($sql);
                    if(!$query)
                    {
                           die ('Invalid query: ' . mysql_error());       
                    }
                    return true;                  
             }
             function get_user_info($table,$user)     //取得用户信息
             {
                    $sql = "SELECT * FROM $table WHERE username='$user'";
                    $query = mysql_query ($sql);   
                    if(!$query)
                    {
                           die ('Invalid query: ' . mysql_error());       
                    }
                    return mysql_fetch_assoc($query) ;
             }
             function update_user_info_array($table,$userinfo) //更新用户信息
             {
                    $sql = "UPDATE $table SET
                                  passwd='".$userinfo['passwd']."',
                                  realname='".$userinfo['realname']."',
                                  dept='".$userinfo['dept']."',
                                  tel='".$userinfo['tel']."'
                                   WHERE username= '".$userinfo['username']."' ";

                     $query = mysql_query ($sql);   


以上内容只是毕业设计作品的部分资料介绍,如果了解更多详情请联系客服QQ:57510459
     购买帮助>>

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论