/*-----------------------------------------------------*/ public cEGUser EGUser_From_User(String aUserClass, XmlNode aClassNode) { cEGUser aUser = (cEGUser)User(aUserClass); Object[] aArgs = {aUser}; return EGUser_From_ClassNode (aArgs, aClassNode); }
/*-----------------------------------------------------*/ ///<summary> ///Method to let a user login with just a loginid. Should be used only by gateway or other places where ///there is a way to check for authorization and authentication of the user. See GatewayPage.cs and pgGateway.aspx ///for cookie encryption and decryption details. ///</summary> public cEGUser LoginUserFromCookie(String aLoginID) { cEGUser aUser = null; cXMLDoc aModuleDoc; XmlNode aDataObjectNode; XmlNode aFiltersNode; //Construct User data object node cXMLDoc aXmlDoc = DataObjectFactory.CreateDataObjectNode("User", out aDataObjectNode, out aFiltersNode); aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXmlDoc, "Data", "UserName", aLoginID)); cDataObject aDataObject = DataObjectFactory.GetDataObject(aDataObjectNode); if (aDataObject!=null){ aUser = EGUser_From_UserDataobject(aDataObject, out aModuleDoc); } aModuleDoc = null; return aUser; // if (aUser != null) { // return true; //LogLoginHistory(aUser.UserID); //((cModulePage)CurrentPage).ModulePage_RedirectToModule(aModuleDoc); // } // else // return false; }
/*-----------------------------------------------------*/ public cEGUser ValidateLoginCredentials(String aLoginID, String aPassword, bool aEnforceUserNameCase, bool aEnforcePasswordCase, out cXMLDoc aModuleDoc) { XmlNode aDataObjectNode; XmlNode aFiltersNode; //Construct User data object node cXMLDoc aXmlDoc = DataObjectFactory.CreateDataObjectNode("User", out aDataObjectNode, out aFiltersNode); aFiltersNode.AppendChild(DataObjectFactory.CreateArgumentNode(aXmlDoc, "Data", "UserName", aLoginID)); cDataObjectList aDOL = DataObjectFactory.GetDataObjectList(aDataObjectNode); cDataObject aDataObject = null; foreach (cDataObject aDO in aDOL) { if (aDO.GetPropertyString("Password").ToLower() == aPassword.ToLower()) { aDataObject = aDO; break; } } if (aDataObject!=null && (!aEnforceUserNameCase || aDataObject.GetPropertyString("UserName") == aLoginID) && (!aEnforcePasswordCase || aDataObject.GetPropertyString("Password") == aPassword)){ cEGUser aUser = EGUser_From_UserDataobject(aDataObject, out aModuleDoc); return aUser; } aModuleDoc = null; return null; }
/*-----------------------------------------------------*/ public cEGUser EGUser_From_UserDataobject(cDataObject aUserDO, out cXMLDoc aModuleDoc) { cEGUser aUser = EGUser_From_EGUserType(aUserDO.GetRelatedPropertyString("UserType.UserType_Abbr"), out aModuleDoc); aUser.UserID = aUserDO.GetPropertyInt("UserID"); aUser.PersonID = aUserDO.GetPropertyInt("PersonID"); aUser.AccessLevel = aUserDO.GetRelatedPropertyInt("UserType.AccessLevel"); //aUser.SetPersonRoles(); //call after PersonID is set return aUser; }
/*=====================================================*/ public cEGUser EGUser_From_ClassNode(Object[] aArgs, XmlNode aClassNode) { cEGUser aUser = null; aUser = (cEGUser)User(aClassNode); if (aUser==null) { aUser = (cEGUser)cReflection.InstantiateObjectFromXMLClassNode(aClassNode, aArgs); Add_User(aClassNode, aUser); } return aUser; }
/*-----------------------------------------------------*/ public cEGUser EGUser_From_ModuleDoc(cXMLDoc aModuleDoc) { XmlNode aClassNode, aModuleNode; cEGUser aUser = null; String aCopyUser; aModuleNode = aModuleDoc.DocElement.SelectSingleNode("Module"); aClassNode = cXMLDoc.FindNode(aModuleNode, "descendant::Class", "Name", cXMLDoc.AttributeToString(aModuleNode, "UserClass")); aCopyUser = cXMLDoc.AttributeToString(aClassNode, "CopyUser"); if (aCopyUser!= "") { aUser = EGUser_From_User(aCopyUser, aClassNode); } else { aUser = EGUser_From_ClassNode(aClassNode); } return aUser; }
public void RedirectUserToModule(cEGUser aUser, String aModuleName, String aModuleConfig, String aPageName, String aPageKey, string aQueryString) { ((cModulePage)CurrentPage).ModulePage_RedirectToModule(aModuleName, aModuleConfig, aPageName, aPageKey, aQueryString); }