📄 waruserengine.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 + -