/// <summary> /// This function collects all the layer's name and uid of a given policy package /// </summary> /// <param name="client"> The <see cref="ApiClient"/>. </param> /// <param name="loginRes">The <see cref="ApiLoginResponse"/> the response of the login command. </param> /// <param name="packageName"> The package name </param> /// <returns>Dictionary contains the tuples (layer uid, Layer name)</returns> private static Dictionary <string, string> GetAccessLayers(ApiClient client, ApiLoginResponse loginRes, string packageName) { Dictionary <string, string> res = new Dictionary <string, string>(); JObject payloadData = new JObject { { "name", packageName }, { "details-level", "full" } }; //Call shoe-package ApiResponse pkgData = client.ApiCall(loginRes, "show-package", payloadData); //Collect the uid and name of the layers if (pkgData.Success) { foreach (var layer in pkgData.Data["access-layers"]) { res.Add((string)layer["uid"], (string)layer["name"]); } } else { ApiUtils.WriteLineColored("Cannot read policy package details", ConsoleColor.Red); EndProgram(client, loginRes, true); } return(res); }
public async Task <IActionResult> Login([FromBody] LoginUserCommand command) { Logger.LogInformation("{Message} {Username}", "Trying to login user", command.Username); var result = await Mediator.Send(command); if (!result.IsSucceeded) { Logger.LogWarning("{Message} {ErrorMessage} {Username} ", "Failed at login user", result.Errors.Values, command.Username); return(GetResponse(result)); } var userData = result.Data; var response = new ApiLoginResponse { Id = userData.Id, Username = userData.Username, Email = userData.Email, Token = _tokenGenerator.GenerateTokenForUser(userData) }; Logger.LogInformation("{Message} {UserId} {Username}", "Successful login for user", userData.Id, userData.Username); return(Ok(response)); }
/// <summary> /// This function preforms a login to the server /// </summary> /// <param name="res">The <see cref="ApiLoginResponse"/> - the response of the login command.</param> /// <param name="server">The IP address or name of the Check Point Management Server.</param> /// <param name="username">User name</param> /// <param name="password">Password</param> /// <returns></returns> private static ApiLoginResponse Login(ApiClient client, string server, string username, string password) { JObject payload = new JObject { { "user", username }, { "password", password } }; ApiLoginResponse res = null; try { res = client.Login(server, payload); } catch (ApiClientException) { ApiUtils.WriteLineColored("Login failed.", ConsoleColor.Green); ApiUtils.EndProgram(); } if (res == null) { ApiUtils.EndProgram(); } if (res.Success) { ApiUtils.WriteLineColored("Login succeeded.", ConsoleColor.Green); } else { ApiUtils.WriteLineColored("Could not login. Error: " + res.ErrorMessage, ConsoleColor.Red); ApiUtils.EndProgram(); } return(res); }
/// <summary> /// This function collects the information about all the rules in a given layer unique identifier /// </summary> /// <param name="client"> The <see cref="ApiClient"/>. </param> /// <param name="loginRes">The <see cref="ApiLoginResponse"/> the response of the login command. </param> /// <param name="layerUid"> The layer unique identifier</param> /// <returns> List contains all the rules information </returns> private static List <RuleInfo> GetRules(ApiClient client, ApiLoginResponse loginRes, string layerUid) { List <RuleInfo> res = new List <RuleInfo>(); int limit = 5; int iteraions = 0; bool done = false; while (!done) { int offset = limit * iteraions; JObject payloadData = new JObject { { "uid", layerUid }, { "details-level", "full" }, { "offset", offset.ToString() }, { "limit", limit.ToString() }, }; ApiResponse layerData = client.ApiCall(loginRes, "show-access-rulebase", payloadData); if (layerData.Success && layerData.Data["rulebase"] != null) { //Go over all the access layer's rules foreach (JToken ruleOrSection in layerData.Data["rulebase"]) { if ((string)ruleOrSection["type"] == "access-rule") { RuleInfo r = new RuleInfo(ruleOrSection, (JArray)layerData.Data["objects-dictionary"]); res.Add(r); } else if ((string)ruleOrSection["type"] == "access-section") { string sectionName = (string)ruleOrSection["name"]; foreach (var rule in ruleOrSection["rulebase"]) { RuleInfo r = new RuleInfo(rule, (JArray)layerData.Data["objects-dictionary"], sectionName); res.Add(r); } } } //check if we passed over all the rules if (!layerData.Data["rulebase"].HasValues || layerData.Data["total"].ToString() == layerData.Data["to"].ToString()) { done = true; } } else { done = true; ApiUtils.WriteLineColored("Cannot read rulebase details", ConsoleColor.Red); } iteraions++; } return(res); }
/// <summary> /// This function preforms logout from the client and exit the program. /// </summary> /// <param name="client"> The <see cref="ApiClient"/>. </param> /// <param name="loginResponse">The <see cref="ApiLoginResponse"/> - the response of the login command.</param> /// <param name="logout">If set to true logout need to be done.</param> private static void EndProgram(ApiClient client, ApiLoginResponse loginResponse, bool logout) { if (logout) { client.Exit(loginResponse); } Console.WriteLine("Press any key to exit.."); Console.ReadKey(); Environment.Exit(0); }
/// <summary> /// This function preforms a logout from the server /// </summary> /// <param name="res">The <see cref="ApiLoginResponse"/> - the response of the login command.</param> /// <param name="clientToLogout"></param> private static void Logout(ApiLoginResponse res, ApiClient clientToLogout) { ApiResponse logoutRes = clientToLogout.ApiCall(res, "logout", "{}"); if (logoutRes.Success) { ApiUtils.WriteLineColored("Logout succeeded.", ConsoleColor.Green); } else { ApiUtils.WriteLineColored("Logout failed. Error: " + logoutRes.ErrorMessage, ConsoleColor.Red); } }
/// <summary> /// Example of find disabled rules /// </summary> static void Main() { //Asks The user for the arguments Console.WriteLine("Enter server IP Address or host name (for a multi-domain environment, provide the IP address of the MDS): "); string server = Console.ReadLine(); Console.WriteLine("Enter user name: "); string username = Console.ReadLine(); Console.WriteLine("Enter password: "******"Domain name (leave empty for a SmartCenter environment): "); string domain = Console.ReadLine(); Console.WriteLine("Policy package name (default value is 'Standard'): "); string package = Console.ReadLine(); if (string.IsNullOrEmpty(package)) { package = "standard"; } ApiClient client = new ApiClient(); //Validity Fingerprint try { ApiUtils.CheckFingerprint(client, server); } catch (ApiClientException) { EndProgram(client, null, false); } JObject payload = new JObject { { "user", username }, { "password", password }, { "domain", domain }, { "continue-last-session", false }, { "read-only", true } }; //Login to Management server ApiLoginResponse loginRes = null; try { loginRes = client.Login(server, payload); } catch (ApiClientException) { ApiUtils.WriteLineColored("Login failed.", ConsoleColor.Green); EndProgram(client, loginRes, false); } if (loginRes == null) { ApiUtils.WriteLineColored("Login failed.", ConsoleColor.Green); EndProgram(client, loginRes, false); } if (!loginRes.Success) { ApiUtils.WriteLineColored(loginRes.ErrorMessage, ConsoleColor.Red); EndProgram(client, loginRes, false); } //Go over all the access layer in the given package and print all the rules and there status Dictionary <string, string> layers = GetAccessLayers(client, loginRes, package); foreach (string layerUid in layers.Keys) { Console.WriteLine("Layer name: " + layers[layerUid]); List <RuleInfo> rules = GetRules(client, loginRes, layerUid); foreach (RuleInfo rule in rules) { Console.WriteLine(rule.ToString()); } Console.WriteLine(""); } Console.WriteLine("done."); Console.WriteLine("Press any key to continue..."); Console.ReadKey(); }
public void ProcessRequest(HttpContext context) { try { ApiLoginRequest parm = new ApiLoginRequest(); using (StreamReader sr = new StreamReader(context.Request.InputStream)) { String data = sr.ReadToEnd(); parm = new JavaScriptSerializer().Deserialize <ApiLoginRequest>(data); } ApiLoginResponse ap = new ApiLoginResponse(); using (DLSMEntities db = new DLSMEntities()) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { var passold = parm.passWord; var bytes = new UTF8Encoding().GetBytes(parm.passWord); var hasBytes = System.Security.Cryptography.MD5.Create().ComputeHash(bytes); var hashpass = Convert.ToBase64String(hasBytes); parm.passWord = hashpass; if (CodeConfig == "1") { _mdmServiceWrapper.AuthenticationUserAsync(new MdmAuthenticationInput()) DLSM.MdmServiceTest.MdmUserServiceClient soap = new DLSM.MdmServiceTest.MdmUserServiceClient(); try { MdmServiceTest.authenUser client = new MdmServiceTest.authenUser(); authenUserBean bean = new authenUserBean(); bean.userId = parm.userName; bean.password = passold; bean.ipAddress = ip; //bean.userId = "3859900089704"; //bean.password = "******"; AuthenticationInput input = new AuthenticationInput(); input.userId = uid; input.password = upw; AuthenUserInput aut = new AuthenUserInput(); aut.authenticationInput = input; aut.authenUserBeanInput = bean; authenUser au = new authenUser(); au.AuthenUserInput = aut; authenUserResponse resp = soap.authenUser(au); if (resp.AuthenUserOutput.authenUserResponse.@return.authenUserResult.ToString() == "True") { try { MdmServiceTest.getUserInfo clientget = new MdmServiceTest.getUserInfo(); getUserInfoBean beanget = new getUserInfoBean(); beanget.authenUserToken = [email protected]; GetUserInfoInput inputget = new GetUserInfoInput(); inputget.getUserInfoBeanInput = beanget; inputget.authenticationInput = input; clientget.GetUserInfoInput = inputget; getUserInfoResponse respget = soap.getUserInfo(clientget); if (respget.GetUserInfoOutput.getUserInfoResponse.@return.name.ToString() != "") { try { GetUserInfo gui = new GetUserInfo(); gui.Title = [email protected]; gui.Name = [email protected]; gui.Surname = [email protected]; gui.OffLocCode = [email protected]; gui.OffLocDesc = [email protected]; gui.OrgFullNameDes = respget.GetUserInfoOutput.getUserInfoResponse.@return.orgFullNameDes; gui.PositionDesc = respget.GetUserInfoOutput.getUserInfoResponse.@return.positionDesc; db.GetUserInfoes.Add(gui); db.SaveChanges(); } catch (Exception ex) { dbContextTransaction.Rollback(); ap.valid_authen = "0"; ap.message = "GetUserInfo Error"; } } else { ap.valid_authen = "0"; ap.message = "getUserInfo Error"; } } catch (Exception ex) { ap.valid_authen = "0"; ap.message = "authenUser Error"; } } else { ap.valid_authen = "0"; ap.message = resp.AuthenUserOutput.authenUserResponse.@return.authenUserResult.ToString(); } } catch (Exception ex) { dbContextTransaction.Rollback(); ap.valid_authen = "0"; ap.message = "authenUser Error"; } } //else //{ // //ไม่วิ่งผ่าน mdmservice // parm.passWord = null; //} } finally { try { var result = db.sp_ApiLogin(parm.userName, parm.passWord, parm.workStationName).ToList(); if (result.Count() > 0) { ap.WH_ID = "" + result[0].WH_ID; ap.userName = result[0].userName; ap.staffId = "" + result[0].staffId; ap.Offname = result[0].OffName; ap.regisIdNumb = result[0].regisIdNumb; ap.regisFirstName = result[0].regisFirstName; ap.regisLastName = result[0].regisLastName; ap.regisFirstNameENG = result[0].regisFirstNameENG; ap.regisLastNameENG = result[0].regisLastNameENG; ap.titleName = result[0].titleName; ap.titleNameENG = result[0].titleNameENG; ap.workstationId = "" + result[0].workstationId; ap.workstationName = result[0].workstationName; ap.officeCode = result[0].officeCode; ap.printerName = result[0].printerName; ap.printerIP = result[0].printerIP; ap.valid_authen = "1"; ap.authorized = "" + result[0].authorized; ap.camaraName = result[0].camaraName; ap.cameraSerialNo = result[0].cameraSerialNo; ap.androidName = result[0].androidName; ap.anroidSerialNo = result[0].anroidSerialNo; ap.signImage = result[0].signImage; ap.message = "OK"; dbContextTransaction.Commit(); } else { dbContextTransaction.Rollback(); ap.valid_authen = "0"; ap.message = "not found"; } } catch (Exception ex) { dbContextTransaction.Rollback(); ap.valid_authen = "0"; ap.message = ex.InnerException == null ? (ex.Message == null ? "Error: Login catch 2" : ex.Message) : ex.InnerException.Message; } } } } string json = new JavaScriptSerializer().Serialize(ap); context.Response.ContentType = "text/javascript"; context.Response.Write(json); } catch (Exception ex) { ApiLoginResponse ap = new ApiLoginResponse(); ap.valid_authen = "0"; ap.message = ex.InnerException == null ? (ex.Message == null ? "Error: Login catch 1" : ex.Message) : ex.InnerException.Message; string json = new JavaScriptSerializer().Serialize(ap); context.Response.ContentType = "text/javascript"; context.Response.Write(json); } }
/// <summary> /// Example of add host /// </summary> static void Main() { ApiClientArgs apiArgs = new ApiClientArgs { DebugFile = "debug.txt" }; ApiClient client = new ApiClient(apiArgs); Console.WriteLine("Enter server ip or host name: "); string server = Console.ReadLine(); try { ApiUtils.CheckFingerprint(client, server); } catch (ApiClientException) { ApiUtils.EndProgram(); } Console.WriteLine("Enter username: "******"Enter password: "******"Enter a name for the new host object: "); string hostName = Console.ReadLine(); Console.WriteLine("Enter host IP: "); string hostIp = Console.ReadLine(); // make the API add-host call. ApiResponse addhostRes = client.ApiCall(res, "add-host", new JObject { { "name", hostName }, { "ip-address", hostIp } }); if (addhostRes == null) { ApiUtils.WriteLineColored("Add-Host failed.", ConsoleColor.Red); Logout(res, client); ApiUtils.EndProgram(); } if (!addhostRes.Success) { ApiUtils.WriteLineColored("Add-Host failed. Error: " + addhostRes.ErrorMessage, ConsoleColor.Red); Logout(res, client); ApiUtils.EndProgram(); } ApiUtils.WriteLineColored("Add-Host succeeded.", ConsoleColor.Green); // try to publish changes and then logout. ApiResponse publishRes = client.ApiCall(res, "publish", "{}"); if (!publishRes.Success) { ApiUtils.WriteLineColored("Publish failed. Error: " + publishRes.ErrorMessage, ConsoleColor.Red); Logout(res, client); ApiUtils.EndProgram(); } ApiUtils.WriteLineColored("Publish succeeded.", ConsoleColor.Green); Logout(res, client); ApiUtils.EndProgram(); Console.ReadKey(); }