public ActionResult ConfigureMethod(string systemName) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods)) return AccessDeniedView(); var eam = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName(systemName); if (eam == null) //No authentication method found with the specified id return RedirectToAction("Methods"); var model = new AuthenticationMethodModel { DisplayOrder = eam.PluginDescriptor.DisplayOrder, FriendlyName = eam.PluginDescriptor.FriendlyName, SystemName = eam.PluginDescriptor.SystemName, }; string actionName, controllerName; RouteValueDictionary routeValues; eam.GetConfigurationRoute(out actionName, out controllerName, out routeValues); model.ConfigurationActionName = actionName; model.ConfigurationControllerName = controllerName; model.ConfigurationRouteValues = routeValues; return View(model); }
public ActionResult Methods() { if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods)) return AccessDeniedView(); var methodsModel = new List<AuthenticationMethodModel>(); var methods = _openAuthenticationService.LoadAllExternalAuthenticationMethods(); foreach (var method in methods) { var tmp1 = new AuthenticationMethodModel { DisplayOrder = method.PluginDescriptor.DisplayOrder, FriendlyName = method.PluginDescriptor.FriendlyName, SystemName = method.PluginDescriptor.SystemName, }; tmp1.IsActive = method.IsMethodActive(_externalAuthenticationSettings); methodsModel.Add(tmp1); } var gridModel = new GridModel<AuthenticationMethodModel> { Data = methodsModel, Total = methodsModel.Count() }; return View(gridModel); }
public ActionResult MethodUpdate(AuthenticationMethodModel model, GridCommand command) { if (!_permissionService.Authorize(StandardPermissionProvider.ManageExternalAuthenticationMethods)) return AccessDeniedView(); var eam = _openAuthenticationService.LoadExternalAuthenticationMethodBySystemName(model.SystemName); if (eam.IsMethodActive(_externalAuthenticationSettings)) { if (!model.IsActive) { //mark as disabled _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Remove(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } else { if (model.IsActive) { //mark as active _externalAuthenticationSettings.ActiveAuthenticationMethodSystemNames.Add(eam.PluginDescriptor.SystemName); _settingService.SaveSetting(_externalAuthenticationSettings); } } var pluginDescriptor = eam.PluginDescriptor; pluginDescriptor.DisplayOrder = model.DisplayOrder; PluginFileParser.SavePluginDescriptionFile(pluginDescriptor); //reset plugin cache _pluginFinder.ReloadPlugins(); return Methods(command); }