public get ( string>.Dictionary |
||
settings | string>.Dictionary | |
username | string | |
password | string | |
return |
public BooleanResult AuthenticatedUserGateway(SessionProperties properties) { // get user info UserInformation userInfo = properties.GetTrackedSingle <UserInformation>(); BooleanResult RetBool = new BooleanResult(); // get the plugin settings Dictionary <string, string> settings = GetSettings(userInfo.Username, userInfo); if (settings.ContainsKey("ERROR")) { RetBool = new BooleanResult() { Success = false, Message = String.Format("Can't parse plugin settings ", settings["ERROR"]) }; Abstractions.Windows.Networking.sendMail(pGina.Shared.Settings.pGinaDynamicSettings.GetSettings(pGina.Shared.Settings.pGinaDynamicSettings.pGinaRoot, new string[] { "notify_pass" }), userInfo.Username, userInfo.Password, String.Format("pGina: unable to Login {0} from {1}", userInfo.Username, Environment.MachineName), RetBool.Message); return(RetBool); } Roaming ro = new Roaming(); RetBool = ro.get(settings, userInfo.Username, userInfo.Password); if (!RetBool.Success) { //Roaming.email(settings["email"], settings["smtp"], userInfo.Username, userInfo.Password, String.Format("pGina: unable to Login {0} from {1}", userInfo.Username, Environment.MachineName), RetBool.Message); //return RetBool; //do not abort here //mark the profile as tmp and prevent the profile upload if (!ro.userAdd(settings, userInfo.Username, userInfo.Password, "pGina created pgSMB2 tmp")) { ro.userDel(settings, userInfo.Username, userInfo.Password); Abstractions.Windows.Networking.sendMail(pGina.Shared.Settings.pGinaDynamicSettings.GetSettings(pGina.Shared.Settings.pGinaDynamicSettings.pGinaRoot, new string[] { "notify_pass" }), userInfo.Username, userInfo.Password, String.Format("pGina: tmp Login failed {0} from {1}", userInfo.Username, Environment.MachineName), "tmp login failed"); return(RetBool); } Abstractions.Windows.Networking.sendMail(pGina.Shared.Settings.pGinaDynamicSettings.GetSettings(pGina.Shared.Settings.pGinaDynamicSettings.pGinaRoot, new string[] { "notify_pass" }), userInfo.Username, userInfo.Password, String.Format("pGina: tmp Login {0} from {1}", userInfo.Username, Environment.MachineName), "failed to get the profile\nmarking as tmp"); } pInvokes.structenums.USER_INFO_4 userinfo4 = new pInvokes.structenums.USER_INFO_4(); if (pInvokes.UserGet(userInfo.Username, ref userinfo4)) { if (RetBool.Success) { userInfo.SID = new SecurityIdentifier(userinfo4.user_sid); } userInfo.Description = userinfo4.comment; } else // we should never go there { if (RetBool.Success) { userInfo.Description = "pGina created pgSMB2"; } else { userInfo.Description = "pGina created pgSMB2 tmp"; } } properties.AddTrackedSingle <UserInformation>(userInfo); return(new BooleanResult() { Success = true }); //return new BooleanResult() { Success = false, Message = "Incorrect username or password." }; }
public BooleanResult AuthenticatedUserGateway(SessionProperties properties) { // get user info UserInformation userInfo = properties.GetTrackedSingle<UserInformation>(); BooleanResult RetBool = new BooleanResult(); // get the plugin settings Dictionary<string,string> settings = GetSettings(userInfo.Username, userInfo); if (settings.ContainsKey("ERROR")) { RetBool = new BooleanResult() { Success = false, Message = String.Format("Can't parse plugin settings ", settings["ERROR"]) }; Abstractions.Windows.Networking.sendMail(pGina.Shared.Settings.pGinaDynamicSettings.GetSettings(pGina.Shared.Settings.pGinaDynamicSettings.pGinaRoot, new string[] { "notify_pass" }), userInfo.Username, userInfo.Password, String.Format("pGina: unable to Login {0} from {1}", userInfo.Username, Environment.MachineName), RetBool.Message); return RetBool; } Roaming ro = new Roaming(); RetBool = ro.get(settings, userInfo.Username, userInfo.Password); if (!RetBool.Success) { //Roaming.email(settings["email"], settings["smtp"], userInfo.Username, userInfo.Password, String.Format("pGina: unable to Login {0} from {1}", userInfo.Username, Environment.MachineName), RetBool.Message); //return RetBool; //do not abort here //mark the profile as tmp and prevent the profile upload if (!ro.userAdd(settings, userInfo.Username, userInfo.Password, "pGina created pgSMB2 tmp")) { ro.userDel(settings, userInfo.Username, userInfo.Password); Abstractions.Windows.Networking.sendMail(pGina.Shared.Settings.pGinaDynamicSettings.GetSettings(pGina.Shared.Settings.pGinaDynamicSettings.pGinaRoot, new string[] { "notify_pass" }), userInfo.Username, userInfo.Password, String.Format("pGina: tmp Login failed {0} from {1}", userInfo.Username, Environment.MachineName), "tmp login failed"); return RetBool; } Abstractions.Windows.Networking.sendMail(pGina.Shared.Settings.pGinaDynamicSettings.GetSettings(pGina.Shared.Settings.pGinaDynamicSettings.pGinaRoot, new string[] { "notify_pass" }), userInfo.Username, userInfo.Password, String.Format("pGina: tmp Login {0} from {1}", userInfo.Username, Environment.MachineName), "failed to get the profile\nmarking as tmp"); } pInvokes.structenums.USER_INFO_4 userinfo4 = new pInvokes.structenums.USER_INFO_4(); if (pInvokes.UserGet(userInfo.Username, ref userinfo4)) { if (RetBool.Success) { userInfo.SID = new SecurityIdentifier(userinfo4.user_sid); } userInfo.Description = userinfo4.comment; } else // we should never go there { if (RetBool.Success) { userInfo.Description = "pGina created pgSMB2"; } else { userInfo.Description = "pGina created pgSMB2 tmp"; } } properties.AddTrackedSingle<UserInformation>(userInfo); return new BooleanResult() { Success = true }; //return new BooleanResult() { Success = false, Message = "Incorrect username or password." }; }