Пример #1
0
        /// <summary>
        /// 可以通过单点登录的进行自动登录的网站 跳转 构造跳转字符串
        /// </summary>
        /// <param name="staffModel">登录信息</param>
        /// <param name="siteUrl">访问URL</param>
        /// <param name="autoLoginUrl">登录页面</param>
        /// <param name="pageUrl">The page URL.</param>
        /// <param name="token">token</param>
        /// <returns>返回地址</returns>
        public static string LoginSSOAddress(MStaffInfo staffModel, string siteUrl, string autoLoginUrl, string pageUrl, string token)
        {
            if (string.IsNullOrEmpty(token))
            {
                token = GetToken(staffModel);
            }

            return string.Format("{0}{1}?PartnerId={2}&AccountId={3}&DeptId={4}&DeptShortName={5}&ReqType=0&Token={6}&RequestPage={7}", siteUrl, autoLoginUrl, "Change", staffModel.Staff_id, staffModel.Department_id.ToString(), HttpUtility.UrlEncode(staffModel.Department, Encoding.GetEncoding("gb2312")), token, System.Web.HttpUtility.UrlEncode(pageUrl));
        }
Пример #2
0
        /// <summary>
        /// 获取token
        /// </summary>
        /// <param name="staff">The staff.</param>
        /// <returns>System.String.</returns>
        private static string GetToken(MStaffInfo staff)
        {
            if (staff != null)
            {
                string crossOOSerivceUrl = ConfigurationManager.AppSettings["SOOUrl"] + "/LoginInfoValidate.aspx";
                AuthenticateManager authManager = new AuthenticateManager(crossOOSerivceUrl, "Change", staff.Staff_id, staff.Department_id.ToString(), staff.Department, string.Empty);
                if (authManager.Login())
                {
                    return authManager.Token;
                }
            }

            return string.Empty;
        }
Пример #3
0
 /// <summary>
 /// 设置单点登录本地Ticket
 /// </summary>
 /// <param name="staff">用户</param>
 private void SetLocalTicket(MStaffInfo staff)
 {
     try
     {
         if (SSOClientConfigHelper.SSOType == 1 || SSOClientConfigHelper.SSOType == 2)
         {
             DefaultClient client = new DefaultClient();
             client.SaveLocalTicket(staff.Staff_id);
         }
     }
     catch (Exception ex)
     {
         AppException appEx = new AppException(string.Empty, "认证中心故障:" + ex.Message, ex, null);
         LogManager.Log.WriteException(appEx);
     }
 }