资源简介

一个C++ 写的用户权限管理模块,可以实现用户权限的定制,权限监测、用户的增删改查,不使用数据库,所有信息都是用DES加密写入用户信息文件中。防信息篡改

资源截图

代码片段和文件信息

#include “StdAfx.h“
#include “UserInfo.h“
#include “hl_md5wrapper.h“

CUser::CUser(const std::string& user_nameconst std::string& user_pass)
{
//默认普通用户
m_userId=0;
m_crcValue=0;
m_userState=us_New;
m_parentUserId=0;
memset(m_userName0USER_NAME_BYTE_LEN);
memset(m_passWord0PASSWORD_MD5_BYTE_LEN);
memset(m_priviBits0_ByteSize);
setUserName(user_name);
setUserPassword(user_pass);
}
CUser::CUser()
{
    m_userId=0;
m_crcValue=0;
m_parentUserId=0;
m_userState=us_Null;
memset(m_userName0USER_NAME_BYTE_LEN);
memset(m_passWord0PASSWORD_MD5_BYTE_LEN);
memset(m_priviBits0_ByteSize);
}
CUser::CUser(const CUser& cu)
{
m_userId=cu.m_userId;
m_parentUserId=cu.m_parentUserId;
strncpy(m_userNamecu.m_userNameUSER_NAME_BYTE_LEN);
strncpy((char*)m_passWord(char*)cu.m_passWordPASSWORD_MD5_BYTE_LEN);
strncpy(m_priviBitscu.m_priviBits_ByteSize);
m_crcValue=cu.m_crcValue;
m_userState=us_Clone;
}
const CUser&  CUser::operator=(const CUser& user)
{
m_userId=user.m_userId;
m_parentUserId=user.m_parentUserId;
strncpy(m_userNameuser.m_userNameUSER_NAME_BYTE_LEN);
strncpy((char*)m_passWord(char*)user.m_passWordPASSWORD_MD5_BYTE_LEN);
strncpy(m_priviBitsuser.m_priviBits_ByteSize);
m_crcValue=user.m_crcValue;
m_userState=us_Clone;
return *this;
}
//获取用户名
std::string CUser::getUserName() const
{
return std::string(m_userName);
}
void CUser::setUserName(const std::string& user_name)
{
memset(m_userName0USER_NAME_BYTE_LEN);
//如果用户设定名称大于系统最大值,将会按最大值进行截取字符串
if (user_name.length()>=USER_NAME_BYTE_LEN)
strncpy(m_userNameuser_name.c_str()USER_NAME_BYTE_LEN-1);
else
strncpy(m_userNameuser_name.c_str()user_name.length());
}

//获取用户id,每个用户具有一个唯一的大于0的数值id
std::size_t CUser::getUserId() const
{
return m_userId;
}
//获取父用户id,
std::size_t CUser::getParentUserId() const
{
return m_parentUserId;
}
//测试本用户是否拥有制定的权限,如果有返回true,否则返回false
bool CUser::testPrivilege(PR_ID pr_id) const
{
if (pr_id<0 || pr_id >=PR_ID::PR_SIZE_END)
      return false;
else
  return ((m_priviBits[pr_id/8]&((char)1 << pr_id%8)) != 0);
}
//设定用户拥有指定权限
bool CUser::setPrivilege(PR_ID pr_id)
{
if (pr_id>=0 && pr_id {
      m_priviBits[pr_id / 8] |=((char)1<   return true;
}
else
return false;
}
//清除用户指定的权限
void CUser::clearPrivilege(PR_ID pr_id)
{
if (pr_id>=0 && pr_id m_priviBits[pr_id / 8] &= ~((char)1<}
//清除用户所有的权限
void CUser::clearAllPrivilege()
{
   memset(m_priviBits0_ByteSize);
}
//验证用户密码,如果密码正确返回true,否则false
bool CUser::checkUserPassword(const std::string & user_pass) const
{
  md5wrapper rap;
  const MD5_DIGEST_TYPE& digest=rap.getHashDigestFromString(user_pass);
  return digest==m_passWord;
}
//从指定用户复制权限
void CUser::cloneUserPrivilege(const CUser& user)
{
   strncpy(m_priviBitsuser.m_priviBits_ByteSize);
}

//设定用户密码????如果宽字符如何处理
void  CUser::setUserPassw

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      14825  2001-03-05 06:24  CPP_USERMANAGER\lib\des\block.cpp

     文件       6671  2001-03-05 06:23  CPP_USERMANAGER\lib\des\block.hpp

     文件       7500  2001-03-05 06:24  CPP_USERMANAGER\lib\des\des.cpp

     文件       3762  2001-03-05 06:23  CPP_USERMANAGER\lib\des\des.hpp

     文件       2390  2001-03-05 06:24  CPP_USERMANAGER\lib\des\dessboxes.hpp

     文件       5147  2001-03-05 06:23  CPP_USERMANAGER\lib\des\globals.hpp

     文件        759  2010-01-12 20:58  CPP_USERMANAGER\lib\des\说明.txt

     目录          0  2010-08-07 08:48  CPP_USERMANAGER\lib\des

     文件       7666  2010-01-12 21:01  CPP_USERMANAGER\lib\DES加密算法(c++).rar

     文件       3124  2008-01-09 15:49  CPP_USERMANAGER\lib\md5\hl_exception.h

     文件      13281  2008-02-02 17:34  CPP_USERMANAGER\lib\md5\hl_md5.cpp

     文件       6685  2008-02-02 17:34  CPP_USERMANAGER\lib\md5\hl_md5.h

     文件       7050  2010-01-01 11:22  CPP_USERMANAGER\lib\md5\hl_md5wrapper.cpp

     文件       5754  2010-01-01 11:34  CPP_USERMANAGER\lib\md5\hl_md5wrapper.h

     文件       2297  2008-02-02 17:55  CPP_USERMANAGER\lib\md5\hl_types.h

     目录          0  2010-08-07 08:48  CPP_USERMANAGER\lib\md5

     目录          0  2010-08-07 08:48  CPP_USERMANAGER\lib

     文件        624  2010-01-23 15:09  CPP_USERMANAGER\security\secu.data

     文件        624  2010-01-10 11:33  CPP_USERMANAGER\security\secu.data.bak

     目录          0  2010-01-23 15:04  CPP_USERMANAGER\security

     文件       4014  2010-01-19 20:58  CPP_USERMANAGER\UserInfo.cpp

     文件       3970  2010-01-19 21:00  CPP_USERMANAGER\UserInfo.h

     文件      12222  2010-02-06 12:45  CPP_USERMANAGER\UserManager.cpp

     文件       4665  2010-01-19 21:24  CPP_USERMANAGER\UserManager.h

     文件        940  2010-01-19 21:00  CPP_USERMANAGER\UserPrivilegeConfig.cpp

     文件       1333  2010-01-19 21:25  CPP_USERMANAGER\UserPrivilegeConfig.h

     文件        551  2010-08-07 09:28  CPP_USERMANAGER\使用说明.txt

     目录          0  2010-08-07 08:52  CPP_USERMANAGER

----------- ---------  ---------- -----  ----

               115854                    28

............此处省略1个文件信息

评论

共有 条评论