public void InitView() { Boolean accessAvailable = !(View.isSystemOutOfOrder && !View.AllowAdminAccess); View.AllowAuthentication = accessAvailable; View.AllowSubscription = !View.isSystemOutOfOrder && View.SubscriptionActive; if (!accessAvailable) { View.DisplaySystemOutOfOrder(); } else { dtoUrlToken urlToken = null; if (View.HasUrlValues) { urlToken = View.GetUrlToken(UrlService.GetActiveUrlIdentifiers()); } if (urlToken != null && !String.IsNullOrEmpty(urlToken.Value)) { UrlProviderLogon(urlToken); } View.AllowRetrievePassword = accessAvailable; View.DisplayLogonInput(); } }
private void UrlProviderLogon(dtoUrlToken urlToken) { UrlAuthenticationProvider urlProvider = UrlService.GetPovider(urlToken.Identifier); if (urlProvider != null) { dtoUrlToken vToken = urlProvider.ValidateToken(urlToken); //UrlProviderResult result = urlProvider.ValidateToken(urlToken.Value); if (!String.IsNullOrEmpty(urlProvider.RemoteLoginUrl)) { View.SetExternalWebLogonUrl(urlProvider.RemoteLoginUrl); } else if (!String.IsNullOrEmpty(urlProvider.SenderUrl)) { View.SetExternalWebLogonUrl(urlProvider.SenderUrl); } //urlToken.DecriptedValue = urlProvider.GetTokenIdentifier(urlToken.Value); List <ExternalLoginInfo> users = UrlService.FindUserByIdentifier(vToken.DecriptedValue, urlProvider); switch (vToken.Evaluation.Result) { case UrlProviderResult.ValidToken: if (users.Count == 1) { ExternalLogonManage(users[0], urlProvider); } else if (!String.IsNullOrEmpty(vToken.DecriptedValue)) { View.GoToProfile(urlProvider.Id, vToken, lm.Comol.Core.BaseModules.ProfileManagement.RootObject.UrlProfileWizard(urlProvider.Id)); } break; default: int idPerson = (users.Count == 1 && users[0].Person != null) ? users[0].Person.Id : 0; String tokenUrl = RootObject.InvalidToken(idPerson, urlProvider.Id, vToken.Evaluation.Result); //urlToken.FullDecriptedValue = urlProvider.FullDecryptToken(urlToken.Value); View.DisplayInvalidToken(tokenUrl, idPerson, vToken, vToken.Evaluation.Result); //if (!String.IsNullOrEmpty(urlProvider.RemoteLoginUrl)) // View.GotoRemoteUrl(urlProvider.RemoteLoginUrl); //else if (!String.IsNullOrEmpty(urlProvider.SenderUrl)) // View.GotoRemoteUrl(urlProvider.SenderUrl); break; } } }