protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { //string strIdHospital = SSOHelper.Configuration["idHospital"] as string; //if (strIdHospital != "0") // lnkStyleSheet.Href = "styleHospital.css"; //else // lnkStyleSheet.Href = "style.css"; SSOHelper.Authenticate(); if (SSOHelper.CurrentIdentity == null) { SSOHelper.RedirectToSSOPage("Login.aspx", Request.Url.ToString()); } else { lblUsr.Text = string.Format(" {0}", SSOHelper.CurrentIdentity.Surname + " " + SSOHelper.CurrentIdentity.FirstName); lblEfector.Text = string.Format("{0}", SSOHelper.GetNombreEfectorRol(SSOHelper.CurrentIdentity.IdEfectorRol)); if (string.IsNullOrEmpty(url)) { url = SSOHelper.Configuration["StartPage"] as string; } ////Armo el menú de la Aplicación seleccionada para el efector seleccionado List <SSOMenuItem> menu = SSOHelper.GetApplicationMenuByEfector(); lvMenuSSO.DataSource = menu[0].items; lvMenuSSO.DataBind(); } } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { lblUsr.Text = string.Format("{0}, {1}", SSOHelper.CurrentIdentity.Surname, SSOHelper.CurrentIdentity.FirstName); lblEfector.Text = string.Format("{0}", SSOHelper.GetNombreEfectorRol(SSOHelper.CurrentIdentity.IdEfectorRol)); string strsips = SSOHelper.Configuration["Publicacion_Sips"] as string; string strsso = SSOHelper.Configuration["Publicacion_SSO"] as string; ImgHomeSystem.PostBackUrl = "../" + strsips + "/default.aspx"; ImgChangePass.PostBackUrl = "/" + strsso + "/Options.aspx"; string url = HttpContext.Current.Request.QueryString["url"]; if (string.IsNullOrEmpty(url)) { url = SSOHelper.Configuration["StartPage"] as string; } //ImgExit.PostBackUrl = String.Format("/"+strsso+"/Logout.aspx"); ImgExit.PostBackUrl = "/" + strsso + "/Logout.aspx?relogin=1&url=" + url; ////Armo el menú de la Aplicación seleccionada para el efector seleccionado //List<SSOMenuItem> menu = SSOHelper.GetApplicationMenuByEfector(); //lvMenuSSO.DataSource = menu[0].items; //lvMenuSSO.DataBind(); } }
protected override bool OnApply() { if (base.Dirty && !this._encryptionKey_PropertiesControl.CanApplyChanges()) { return(false); } if (this._encryptionKey_PropertiesControl.CanApplyChanges() && this._scopeNodeAction == "Import") { string encryptionKey; this._encryptionKey_PropertiesControl.GetKeyValue(out encryptionKey); bool flag = SSOHelper.ImportSSOApplication(encryptionKey, this.ApplicationFileName, this.EncryptedText); if (this.EncryptionKeyEnteredForImport != null) { EventArgs <bool, string> e = new EventArgs <bool, string>(flag, this._scopeNodeAction); this.EncryptionKeyEnteredForImport(this, e); } return(flag); } if (this._encryptionKey_PropertiesControl.CanApplyChanges() && this._scopeNodeAction == "Export") { string encryptionKey2; this._encryptionKey_PropertiesControl.GetKeyValue(out encryptionKey2); this.EncryptionKey = encryptionKey2; } return(true); }
/// <summary> /// token解密获取用户身份 /// </summary> /// <returns></returns> private TokenUserInfo GetCurrentUserFromToken() { if (currentHttpContext == null) { return(null); } var author = currentHttpContext.Request.Headers["Authorization"]; //var sysCode = _httpContext.Request.Query["SysCode"]; if (string.IsNullOrWhiteSpace(author) || !author.FirstOrDefault().Contains("Bearer")) //|| sysCode.ToString().IsNullOrWhiteSpace()) { return(null); } var token = author.ToString().Substring("Bearer".Length).Trim(); List <string> list; //token校验不通过或者token过期 if (!SSOHelper.IsTokenValid(token, out list) || Convert.ToDateTime(list[4]).AddMinutes(ConfigService.TokenOverTime) < DateTime.Now) { return(null); } //解析token获取用户信息 var tokenUserInfo = new TokenUserInfo { UserID = Convert.ToInt32(list[0]), AccountName = list[1], UserName = list[2], IP = list[3], Token = token }; return(tokenUserInfo); }
/// <summary> /// /// </summary> /// <param name="sSOHelper"></param> /// <param name="queue"></param> /// <param name="logger"></param> /// <param name="search"></param> /// <param name="userServices">用户服务</param> public HomeController(SSOHelper sSOHelper, IBackgroundTaskQueue queue, ILogger <HomeController> logger, ISearchApp search, IUserServices userServices) { _ssoHelper = sSOHelper; _queue = queue; _logger = logger; _search = search; _userServices = userServices; }
/// <summary> /// 生成token,并存于redis,同时新增一条sessionlog记录 /// </summary> /// <param name="user"></param> /// <param name="sys"></param> /// <param name="ip"></param> /// <returns>是否成功</returns> private async Task <bool> SetTokenAsync(UserInfoAndRoleRight user, AppSystem sys, string ip) { var utcNow = DateTime.UtcNow; var token = SSOHelper.GenerateToken(user.UserInfo.UserID.ToString(), user.UserInfo.AccountName, user.UserInfo.UserName, ip); int timespan = ConfigService.TokenOverTime;//分钟 #region 缓存token var tokenKey = ConfigService.GetTokenRedisKey(user.UserInfo.UserID.ToString(), user.UserInfo.AccountName, sys.SystemCode); //检查当前用户在当前system下是否已有token。已有则更新log,并在redis中覆盖原有token var existTokenValue = redisCache.Get(tokenKey).ToString(); var userInfoKey = ConfigService.GetUserInfoRedisKey(token, sys.SystemCode); //缓存、db记录。 redisCache.Set(tokenKey, token, TimeSpan.FromMinutes(timespan)); redisCache.Set(userInfoKey, user, TimeSpan.FromMinutes(timespan)); //检查是否缓存成功 var cacheResult = redisCache.Get(tokenKey).ToString() == token && redisCache.Get(userInfoKey).ToString() == user.ToJson(); if (!existTokenValue.IsNullOrWhiteSpace()) { var existUserInfoKey = ConfigService.GetUserInfoRedisKey(existTokenValue, sys.SystemCode); redisCache.Remove(existUserInfoKey); //查询session日志记录 var sessionLog = await masterContext.UserSessionLogs.FirstOrDefaultAsync(a => a.UserToken == existTokenValue && a.UserID == user.UserInfo.UserID); if (sessionLog != null) { sessionLog.RealExpirationTime = utcNow; } } #endregion 缓存token //DB记录token记录 await masterContext.UserSessionLogs.AddAsync(new UserSessionLog { AccessHost = ip, CreateTime = utcNow, ModifyTime = utcNow, SystemID = sys.ID, SystemName = sys.SystemName, UserID = user.UserInfo.UserID, UserToken = token, ValidTime = timespan * 60, RealExpirationTime = utcNow.AddMinutes(timespan) }); var dbSaveResult = await masterContext.SaveChangesAsync(); if (cacheResult && dbSaveResult > 0) { user.Token = token; return(true); } return(false); }
protected void Page_Load(object sender, EventArgs e) { SSOHelper.Authenticate(); if (SSOHelper.CurrentIdentity == null) { SSOHelper.RedirectToSSOPage("Login.aspx", Request.Url.ToString()); } }
public void OnActionExecuting(ActionExecutingContext context) { var author = context.HttpContext.Request.Headers["Authorization"]; var param = context.HttpContext.Request.GetRequestParam().JsonToObj <RequestBase>(); //author为空或不以bearer开头 if (string.IsNullOrWhiteSpace(author) || !author.FirstOrDefault().Contains("Bearer")) { context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; context.Result = new JsonResult(new { msg = "未知身份" }); return; } //提取token var token = author.ToString().Substring("Bearer".Length).Trim(); List <string> list; //token无法解密,不再查询redis。 if (!SSOHelper.IsTokenValid(token, out list)) { context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; context.Result = new JsonResult(new { msg = "非法token" }); return; } //生成token 的时间加上token生效的时间 if (Convert.ToDateTime(list[4]).AddMinutes(Convert.ToDouble(BaseCore.Configuration.GetSection("AppSetting:TokenOverTime").Value)) < DateTime.Now) { context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; context.Result = new JsonResult(new { msg = "token已过期" }); return; } //解析token获取用户信息 var tokenUserInfo = new TokenUserInfo { UserID = Convert.ToInt32(list[0]), AccountName = list[1], UserName = list[2], IP = list[3], Token = token }; ((BaseController)context.Controller).CurrentUser = tokenUserInfo; ////token生成时的ip与当前请求ip不一致 //if (tokenUserInfo.IP != context.HttpContext.Connection.RemoteIpAddress.ToString()) //{ // context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; // context.Result = new JsonResult(new { msg = "非法请求" }); // return; //} //context.Controller var redisCache = (RedisCache)context.HttpContext.RequestServices.GetService(typeof(RedisCache)); var userInfoKey = ConfigService.GetUserInfoRedisKey(token, param.SysCode); //token+sysCode组成的key是否存在 if (!redisCache.Exists(userInfoKey)) { context.HttpContext.Response.StatusCode = StatusCodes.Status401Unauthorized; context.Result = new JsonResult(new { msg = "无权限" }); return; } }
static void TokenTest( ) { var token = SSOHelper.GenerateToken("1", "boo", "boo", "127.0.0.1"); Console.WriteLine($"token = {token} \r\n"); List <string> list = null; var result = SSOHelper.IsTokenValid(token, out list); Console.WriteLine($"Token Valid Result = {result} ,list = {list.ToJson()}"); }
public void ParseSSOTokenPage() { Cookie cookie = SSOHelper.ParseSSOLandingPage(getDataFromFile("SSOTokenPage.html")); Assert.IsNotNull(cookie); Assert.AreEqual(cookie.Name, "ZSESSIONID"); Assert.AreEqual(cookie.Value, "khkjhkhkhkhkjhh"); Assert.AreEqual(cookie.Domain, "us1.rallydev.com"); Assert.AreEqual(cookie.Path, "/"); }
protected void ImageButton1_Click(object sender, ImageClickEventArgs e) { if (Request.Cookies["Cookies"] != null) { HttpCookie mycookies = new HttpCookie("Cookies"); mycookies["u_id"] = null; mycookies.Expires = DateTime.Now.AddDays(-1d); Response.Cookies.Add(mycookies); SSOHelper.GlobalSessionEnd(); } }
/// <summary> /// /// </summary> /// <returns></returns> public ActionResult IsHasRemind() { int count = 0; #region 过期仪器提醒 StringBuilder sqlWhere = new StringBuilder(); sqlWhere.Append("1=1"); if (!LoginHelper.LoginUserAuthorize.ContainsKey("Instrument-CheckAll".ToLower())) { sqlWhere.AppendFormat(" and {0}", Global.Business.ServiceProvider.UserManageDepartService.GetSQL2MyMangeDepart("BelongDepart")); } sqlWhere.AppendFormat(" and '{0:yyyy-MM-dd}'>DueEndDate and ManageLevel !='C' and RecordState={1}", DateTime.Now, UtilConstants.InstrumentState.过期禁用.GetHashCode()); IList <Instrument.Common.Models.InstrumentModel> overTimeList = ServiceProvider.InstrumentService.GetAllInstrumentListByWhere(sqlWhere.ToString()); //当前用户下已加入清单但未送检的仪器 IList <InstrumentWaitSendModel> preSendList = ServiceProvider.InstrumentWaitSendService.GetByUserId(LoginHelper.LoginUser.UserId); InstrumentWaitSendModel instrumentWaitSendModel = null; foreach (Instrument.Common.Models.InstrumentModel item in overTimeList) { instrumentWaitSendModel = preSendList.SingleOrDefault(i => i.InstrumentId.Equals(item.InstrumentId)); if (instrumentWaitSendModel != null) { continue; } count++; break; } #endregion #region 软件过期提醒 if (count == 0) { string PublishKey = WebUtils.GetSettingsValue("PublishDate"); if (string.IsNullOrEmpty(PublishKey) == true) { PublishKey = Global.Common.GlobalConstants.PublishDate; } else { PublishKey = SSOHelper.Decrypt(PublishKey); } DateTime publishDate = DateTime.ParseExact(PublishKey, "yyyy-MM-dd", null); count = new TimeSpan(DateTime.Now.Ticks - (publishDate.AddYears(1).Ticks)).Days; } #endregion JsonResult jr = Json(new { hasremind = count > 0?true:false }, JsonRequestBehavior.AllowGet); return(jr); }
private void deleteSSOToolStripMenuItem_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtSSOConfigLoc.Text)) { SSOHelper.DeteleSSOconfig(txtConfigAppName.Text); MessageBox.Show("Successfully deleted SSOconfig"); } else { MessageBox.Show("Select valid SSO Config file"); } }
static void PasswordTest() { Console.WriteLine("输入username:"); var userName = Console.ReadLine(); Console.WriteLine("输入密码:"); var pwd = Console.ReadLine(); var password = SSOHelper.EncryptPassword(pwd, userName); Console.WriteLine("密码加密结果:" + password); Console.WriteLine("密文解密结果:" + SSOHelper.DecryptPassword(password, userName)); }
/// <summary> /// 获取accessToken /// </summary> /// <returns></returns> public string GetaccessToken(string CompanyInfo) { IList <Global.Common.Models.ParamModel> paramList = ServiceProvider.ParamService.GetAll(); ParamModel company = paramList.SingleOrDefault(t => t.ParamCode == CompanyInfo); if (null == company) { company = new Global.Common.Models.ParamModel(); } ParamItemModel pCompany = company.itemsList.SingleOrDefault(s => s.ParamItemName.Equals("公司编号")); ParamItemModel Pwd = company.itemsList.SingleOrDefault(s => s.ParamItemName.Equals("密码")); return(SSOHelper.Encrypt(string.Format("{0}|{1}", pCompany == null ? "" : pCompany.ParamItemValue, Pwd == null ? "" : Pwd.ParamItemValue))); }
private void CargarArbol() { TreeNode nodo = new TreeNode(); TreeView1.Nodes.Clear(); nodo.Value = "0"; nodo.Text = string.Format("{0}", SSOHelper.GetNombreEfectorRol(SSOHelper.CurrentIdentity.IdEfectorRol));//oUser.IdEfector.Nombre; TreeView1.Nodes.Add(nodo); mostrarNodos(nodo); pnlPiso.Visible = false; pnlHabitacion.Visible = false; pnlCama.Visible = false; }
public void ParseSamlForm() { var ssoHelper = new SSOHelper(); SSOHelper.FormInfo formInfo = ssoHelper.getFirstFormInfo(getDataFromFile("HtmlWithOneSamlForm.txt")); Assert.IsTrue(formInfo.isSamlForm()); Assert.IsFalse(formInfo.isPasswordForm()); Assert.AreEqual(formInfo.actionUrl, "https://some.host.com/actionUrl/endpoint1.html"); List<SSOHelper.PostParam> postParams = formInfo.getSamlPostParams(); Assert.IsTrue(postParams.Count == 2, String.Format("Params found not equal to 2. Actually found {0}.",postParams.Count)); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "SAMLRequest" && x.value == "SamlRequestValue1")); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "RelayState" && x.value == "RelayStateValue1")); }
protected void btn_Login_Click(object sender, ImageClickEventArgs e) { if (txt_UserName.Text.Trim() != "user") { if (SSOHelper.CheckOnline(txt_UserName.Text.Trim())) { string strSql = "select DepartID,UserID,t_R_UserInfo.RoleID,PWDModifyTime,Name,LevelID,ReadRight,WriteRight,RefreshRight,FileRight,id,ManageRight,dataflag from t_R_UserInfo inner join t_R_Role on t_R_Role.RoleID=t_R_UserInfo.RoleID where t_R_UserInfo.flag=0 and UserID='" + txt_UserName.Text.Trim() + "' and PWD='" + txt_Pwd.Text.Trim() + "'"; MyDataOp mdo = new MyDataOp(strSql); DataSet ds = mdo.CreateDataSet(); if (ds.Tables[0].Rows.Count == 0) { Response.Write("<script language='javascript'>alert('帐户或密码输入错误!请重新输入!');</script>"); } else { HttpCookie Cookie = new HttpCookie("Cookies"); DateTime dt = DateTime.Now; TimeSpan ts = new TimeSpan(0, 10, 0, 0); //有效期10小时; Cookie.Expires = dt.Add(ts); Cookie.Values.Add("uid", ds.Tables[0].Rows[0]["id"].ToString()); Cookie.Values.Add("u_id", ds.Tables[0].Rows[0]["UserID"].ToString()); Cookie.Values.Add("u_role", ds.Tables[0].Rows[0]["RoleID"].ToString()); Cookie.Values.Add("u_flag", ds.Tables[0].Rows[0]["dataflag"].ToString()); Cookie.Values.Add("u_pswdtime", ds.Tables[0].Rows[0]["PWDModifyTime"].ToString()); Cookie.Values.Add("Name", HttpUtility.UrlEncode(ds.Tables[0].Rows[0]["Name"].ToString())); //Cookie.Values.Add("u_Name",ds.Tables[0].Rows[0]["Name"].ToString());//用户名 // Cookie.Values.Add("RealName", HttpUtility.UrlEncode(ds.Tables[0].Rows[0]["RealName"].ToString())); Cookie.Values.Add("u_level", ds.Tables[0].Rows[0]["LevelID"].ToString()); Cookie.Values.Add("u_purview", ds.Tables[0].Rows[0]["ReadRight"].ToString() + //读权限 ds.Tables[0].Rows[0]["WriteRight"].ToString() + //写权限 ds.Tables[0].Rows[0]["ManageRight"].ToString() + ds.Tables[0].Rows[0]["FileRight"].ToString()); //刷新权限; Cookie.Values.Add("departid", ds.Tables[0].Rows[0]["DepartID"].ToString()); Response.AppendCookie(Cookie); SSOHelper sso = new SSOHelper(); sso.LoginRegister(txt_UserName.Text.Trim()); Response.Redirect("~/main.htm"); } } else { Response.Write("<script language='javascript'>alert('您的帐户已在别处登陆!');</script>"); } } }
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } SSOHelper.Authenticate(); if (SSOHelper.CurrentIdentity == null) { SSOHelper.RedirectToSSOPage("Login.aspx", Request.Url.ToString()); } cargarCombos(); cargarListaFichas(); }
public void ParseSamlForm() { var ssoHelper = new SSOHelper(); SSOHelper.FormInfo formInfo = ssoHelper.getFirstFormInfo(getDataFromFile("HtmlWithOneSamlForm.txt")); Assert.IsTrue(formInfo.isSamlForm()); Assert.IsFalse(formInfo.isPasswordForm()); Assert.AreEqual(formInfo.actionUrl, "https://some.host.com/actionUrl/endpoint1.html"); List <SSOHelper.PostParam> postParams = formInfo.getSamlPostParams(); Assert.IsTrue(postParams.Count == 2, String.Format("Params found not equal to 2. Actually found {0}.", postParams.Count)); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "SAMLRequest" && x.value == "SamlRequestValue1")); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "RelayState" && x.value == "RelayStateValue1")); }
public ActionResult SSOValidate() { //单点登录 string errMsg = ""; if (SSOHelper.ValidateToken()) { //已登录,获取用户权限 string accout = SSOHelper.GetUserAccount(); if (!string.IsNullOrEmpty(accout)) { UserModel user = ServiceProvider.UserService.GetByLoginName(accout.Split('|')[0]); if (user != null) { //初始化用户身份验证票据和权限资源 LoginHelper.InitPermission(user); string url = Request.Url.Query; url = url.Substring(5, url.Length - 5); int index = url.IndexOf('&'); if (index > -1) { url = url.Remove(index, 1); url = url.Insert(index, "?"); } //Response.Redirect(url); ViewBag.Url = url; } else { errMsg = "不存在登录帐号"; } //Response.Write("不存在登录帐号"); } else { errMsg = "登录帐号为空"; } } else { ViewBag.Url = "/Login/LoggedinDefault"; } //errMsg = "令牌错误"; ViewBag.ErrMsg = errMsg; return(View()); }
public void ParsePasswordForm() { var ssoHelper = new SSOHelper(); SSOHelper.FormInfo formInfo = ssoHelper.getFirstFormInfo(getDataFromFile("HtmlWithOnePasswordForm.txt")); Assert.IsTrue(formInfo.isPasswordForm()); Assert.IsFalse(formInfo.isSamlForm()); Assert.AreEqual(formInfo.actionUrl, "/idp/resumeSAML20/idp/SSO.ping"); Uri baseUri = new Uri("https://some.host.com/path"); Assert.AreEqual(formInfo.getAbsoluteUri(baseUri), "https://some.host.com/idp/resumeSAML20/idp/SSO.ping"); List<SSOHelper.PostParam> postParams = formInfo.getPasswordPostParams("SomeUsername","SomePassword"); Assert.IsTrue(postParams.Count == 2, String.Format("Params found not equal to 2. Actually found {0}.", postParams.Count)); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "pf.username" && x.value == "SomeUsername")); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "pf.pass" && x.value == "SomePassword")); }
public override bool Execute(out string message) { bool result = false; Validate(); string exceptionMessage; if (String.IsNullOrEmpty(this.SsoConfigLocation) || String.IsNullOrEmpty(this.SsoConfigApplicationName)) { message = String.IsNullOrEmpty(this.SsoConfigLocation) ? "SSO config file is not selected." : "SSO config application name is empty."; } else { result = SSOHelper.ImportSSOconfig(this.SsoKey, this.SsoConfigLocation, this.SsoConfigApplicationName, String.Format("BizTalkAdmin@{0}.com", this.SSOCompanyName), true, out exceptionMessage); message = result ? "SSO config successfully imported." : exceptionMessage; } return(result); }
//跳转的页面调用 public ActionResult SSO() { //先创建令牌,再创建cookie SSOHelper.CreateCookie(LoginHelper.LoginUser.JobNo, "ksdflkjsd", 5); string url = Request.Url.Query; url = url.Substring(5, url.Length - 5); int index = url.IndexOf('&'); if (index > -1) { url = url.Remove(index, 1); url = url.Insert(index, "?"); } Response.Redirect(url); return(null); //return View(); }
public async Task <ActionResult> PostToken(SSOTokenDTO tokendata) { Console.WriteLine(tokendata); try { UserDTO user = await SSOHelper.GetSSOData(tokendata); User databaseUserReturn = await _context.Users.FindAsync(user.Username.ToLower()); if (databaseUserReturn == null) { _context.Users.Add(await UserFactory.Create(user.Username, user.Mail, user.Gn, user.Sn)); await _context.SaveChangesAsync(); user.AccountType = nameof(Models.User.UserType.User); } else { if (databaseUserReturn.Mail == null) { databaseUserReturn.Mail = user.Mail; } if (databaseUserReturn.GeneralName == null) { databaseUserReturn.GeneralName = user.Gn; } if (databaseUserReturn.Surname == null) { databaseUserReturn.Surname = user.Sn; } _context.Users.Update(databaseUserReturn); await _context.SaveChangesAsync(); user.AccountType = databaseUserReturn.AccountType.ToString(); } var response = new { jwt = JwtHelper.Create(user, _configuration.GetValue <String>("APIHostName")) }; return(Ok(response)); } catch (ArgumentException) { return(Unauthorized("Authentication Failed")); } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { string strIdHospital = SSOHelper.Configuration["idHospital"] as string; if (strIdHospital != "0") { lnkStyleSheet.Href = "styleHospital.css"; } else { lnkStyleSheet.Href = "style.css"; } string strsips = SSOHelper.Configuration["Publicacion_Sips"] as string; string strsso = SSOHelper.Configuration["Publicacion_SSO"] as string; lblUsr.Text = string.Format(" {0}", SSOHelper.CurrentIdentity.Surname + " " + SSOHelper.CurrentIdentity.FirstName); lblEfector.Text = string.Format("{0}", SSOHelper.GetNombreEfectorRol(SSOHelper.CurrentIdentity.IdEfectorRol)); //ImgHomeSip.PostBackUrl = "/Sips/Default.aspx"; ImgHomeSystem.PostBackUrl = "~/default.aspx"; ImgChangePass.PostBackUrl = "/" + strsso + "/Options.aspx"; //ImgChangePass.PostBackUrl = "/SSO/Options.aspx"; string url = HttpContext.Current.Request.QueryString["url"]; if (string.IsNullOrEmpty(url)) { url = SSOHelper.Configuration["StartPage"] as string; } //ImgExit.PostBackUrl = "/SSO/Logout.aspx?relogin=1&url=" + url + "/sips"; ImgExit.PostBackUrl = "/" + strsso + "/Logout.aspx?relogin=1&url=" + url; ////Armo el menú de la Aplicación seleccionada para el efector seleccionado List <SSOMenuItem> menu = SSOHelper.GetApplicationMenuByEfector(); lvMenuSSO.DataSource = menu[0].items; lvMenuSSO.DataBind(); } }
public void ParsePasswordForm() { var ssoHelper = new SSOHelper(); SSOHelper.FormInfo formInfo = ssoHelper.getFirstFormInfo(getDataFromFile("HtmlWithOnePasswordForm.txt")); Assert.IsTrue(formInfo.isPasswordForm()); Assert.IsFalse(formInfo.isSamlForm()); Assert.AreEqual(formInfo.actionUrl, "/idp/resumeSAML20/idp/SSO.ping"); Uri baseUri = new Uri("https://some.host.com/path"); Assert.AreEqual(formInfo.getAbsoluteUri(baseUri), "https://some.host.com/idp/resumeSAML20/idp/SSO.ping"); List <SSOHelper.PostParam> postParams = formInfo.getPasswordPostParams("SomeUsername", "SomePassword"); Assert.IsTrue(postParams.Count == 2, String.Format("Params found not equal to 2. Actually found {0}.", postParams.Count)); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "pf.username" && x.value == "SomeUsername")); Assert.IsNotNull(postParams.SingleOrDefault(x => x.name == "pf.pass" && x.value == "SomePassword")); }
private void redeploySSOToolStripMenuItem_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtSSOConfigLoc.Text)) { string exceptionMessage; bool result = SSOHelper.ImportSSOconfig(SSOKey, txtSSOConfigLoc.Text, txtConfigAppName.Text, String.Format("BizTalkAdmin@{0}.com", SSOCompanyName), true, out exceptionMessage);; if (result) { MessageBox.Show("Successfully redeployed SSOconfig and refreshed cache."); } else { MessageBox.Show("Error is importing SSOconfig. Manual intervension required"); } } else { MessageBox.Show("Select valid SSO Config file"); } }
protected void Page_Load(object sender, EventArgs e) { SSOHelper.Authenticate(); if (SSOHelper.CurrentIdentity == null) { SSOHelper.RedirectToSSOPage("Login.aspx", Request.Url.ToString()); } SysEfector efector = null; efector = new SysEfector(SSOHelper.CurrentIdentity.IdEfector); //lblUsr.Text = string.Format("{0}, {1}", SSOHelper.CurrentIdentity.Surname, SSOHelper.CurrentIdentity.FirstName); lblUsr.Text = string.Format(" {0}", SSOHelper.CurrentIdentity.Surname + " " + SSOHelper.CurrentIdentity.FirstName); lblEfector.Text = string.Format("{0}", efector.Nombre); //lblEfector.Text = string.Format("{0}", SSOHelper.GetNombreEfectorRol(SSOHelper.CurrentIdentity.IdEfectorRol)); Session["SessionEfector"] = lblEfector.Text; ImgHomeSip.PostBackUrl = "/Sips/Default.aspx"; ImgHomeSystem.PostBackUrl = "Default.aspx"; ImgChangePass.PostBackUrl = "/SSO/Options.aspx"; string url = HttpContext.Current.Request.QueryString["url"]; if (string.IsNullOrEmpty(url)) { url = SSOHelper.Configuration["StartPage"] as string; } ImgExit.PostBackUrl = "/SSO/Logout.aspx?relogin=1&url=" + url + "/sips"; ////Armo el menú de la Aplicación seleccionada para el efector seleccionado /* List<SSOMenuItem> menu = SSOHelper.GetApplicationMenuByEfector(); * lvMenuSSO.DataSource = menu[0].items; * lvMenuSSO.DataBind(); */ }
public async Task <ActionResult> CloudCherry() { try { string ssoKey = ConfigurationManager.AppSettings["ssokey"]; string ccAccount = ConfigurationManager.AppSettings["ccaccount"]; var identity = (ClaimsIdentity)User.Identity; if (identity != null) { string userId = string.IsNullOrEmpty(identity.Name) ? null : Regex.Replace(identity.Name.Split('@').FirstOrDefault(), @"[^0-9a-zA-Z]+", string.Empty);; string emailId = identity.Name; var subUser = new SSOSubUser { Userid = userId, // SSO user to login Role = "ManagerReadOnly", //Manager Or ManagerReadOnly Email = emailId, TimeStamp = DateTime.UtcNow, SSOKey = ssoKey, ManagedBy = ccAccount }; var redirectUrl = await SSOHelper.GetSSOTokenURL(subUser); SSOHelper.WriteLog($"Redirecting {ccAccount} - {userId} to CloudCherry"); return(Redirect(redirectUrl)); } SSOHelper.WriteLog("Identity Not Found"); return(Redirect($"{SSOHelper.webBaseURL}#/login?errormsg=Unable to sign-in, contact administrator")); } catch (Exception ex) { SSOHelper.WriteErrorLog(ex); return(Redirect($"{SSOHelper.webBaseURL}#/login?errormsg=Unable to sign-in, contact administrator")); } }
private void LoadSSOAppsTreeView() { SSOAffiliateApplications ssoAffiliateApps = new SSOAffiliateApplications(); TreeNode parentNode = treeViewSSOApps.Nodes.Add(Constants._SSO_AFFILIATE_ROOT_NODE, Constants._SSO_AFFILIATE_ROOT_NODE); parentNode.ImageIndex = 0; parentNode.SelectedImageIndex = 0; for (int i = 0; i < ssoAffiliateApps.Applications.Count(); i++) { TreeNode affiliateAppNode = parentNode.Nodes.Add(ssoAffiliateApps.Applications[i]); affiliateAppNode.ImageIndex = 1; affiliateAppNode.SelectedImageIndex = 1; SSOAffiliateApplication ssoApp = new SSOAffiliateApplication(); ssoApp.Application = ssoAffiliateApps.Applications[i]; ssoApp.Description = ssoAffiliateApps.Descriptions[i]; ssoApp.ContactInfo = ssoAffiliateApps.ContactInfos[i]; ssoApp.UserAccount = ssoAffiliateApps.UserAccounts[i]; ssoApp.AdminAccount = ssoAffiliateApps.AdminAccounts[i]; ssoApp.Flag = ssoAffiliateApps.Flags[i]; string[] userAccounts = ssoAffiliateApps.UserAccounts[i].Split(';'); Array.Sort(userAccounts); for (int j = 0; j < userAccounts.Count(); j++) { object[] test = SSOHelper.GetWindowsUserMapping(userAccounts[j].Trim(), ssoAffiliateApps.Applications[i]); foreach (var obj in test) { dynamic item = obj; TreeNode userNode = affiliateAppNode.Nodes.Add(userAccounts[j].Trim()); userNode.ImageIndex = 3; userNode.SelectedImageIndex = 3; userNode.Tag = item; userNode.ContextMenuStrip = contextMenuStrip1; } } affiliateAppNode.Tag = ssoApp; } }
public async Task <string> CheckFrameWorkVersion() { return(SSOHelper.GetFrameWorkVersion()); }