⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 waruserengine.cpp

📁 ftpserver very good sample
💻 CPP
字号:
#include "StdAfx.h"#include "WarUserEngine.h"   // class implemented#ifndef WAR_LOG_H#   include "WarLog.h"#endif/////////////////////////////// PUBLIC /////////////////////////////////////////============================= LIFECYCLE ====================================WarUserEngine::WarUserEngine(){}// WarUserEngineWarUserEngine::~WarUserEngine(){}// ~WarUserEngine//============================= OPERATORS ====================================//============================= OPERATIONS ===================================void WarUserEngine::AddAuthModule(auth_ptr_t& authModule)        throw(WarException){    mAuthModules.push_back(authModule);}WarUserEngine::WarLoginResultE WarUserEngine::Login(        WarSvrProtocol& fromServer,        war_ccstr_t virtualHost,         war_ccstr_t userName,         war_ccstr_t userPasswd,        auth_ptr_t& authModule,        war_authdata_ptr_t& authDataPtr)        throw(WarException){    if (mAuthModules.empty())    {        WarLog err_log(WARLOG_ERROR, "WarUserEngine::Login()");        err_log << "No authentication module(s) are initialized."            << war_endl;        WarThrow(WarError(WAR_ERR_INTERNAL_DATA_NOT_INITIALIZED), NULL);    }    WarLoginResultE return_val = LF_CALLER_NOT_AUTHENTICATED;    for(auth_list_t::iterator P = mAuthModules.begin()        ; P != mAuthModules.end()        ; P++)    {        try        {            WarCollector<war_sysch_t> my_user = userName,                 my_host = virtualHost,                my_passwd(userPasswd, WarCollector<war_sysch_t>::SM_ERASE);            bool is_authorative = false;            war_authdata_ptr_t authdata_ptr;            WarLoginResultE result = (*P)->Login(                fromServer,                my_host.GetValue().c_str(),                my_user.GetValue().c_str(),                my_passwd.GetValue().c_str(),                authdata_ptr,                is_authorative);            switch(result)            {            case LF_OK:                authDataPtr = authdata_ptr;                authModule = (*P);                return result;            default:                if (is_authorative)                    return result;                if (result != LF_CALLER_NOT_AUTHENTICATED)                    return_val = result;            }        }        catch(WarException)        {        }    }    return return_val;}//============================= ACCESS     ===================================//============================= INQUIRY    ===================================/////////////////////////////// PROTECTED  ////////////////////////////////////////////////////////////////// PRIVATE    ///////////////////////////////////

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -