【问题标题】:Umbraco 6.1.6 Web API SSO Implementation - Final Page Accepting TokenUmbraco 6.1.6 Web API SSO 实施 - 最终页面接受令牌
【发布时间】:2014-07-16 18:52:03
【问题描述】:

我已经解决了 Umbraco 中的 WEB API 实现的所有问题(在 http 帖子中创建令牌和成员),我在这里遇到的问题是这个最后的宏,我创建了一个 Umbraco页面,它不会从查询字符串中收集令牌和电子邮件。我不断收到 System.Data.SqlClient.SqlException(期望参数“@token”,但未提供)我无法在 Umbraco 中获取查询字符串,或者更具体地说是 Umbraco 宏?

namespace ****.SSO
{
    public partial class ****SSOMacro : System.Web.UI.UserControl,
        umbraco.editorControls.userControlGrapper.IUsercontrolDataEditor
    {
        static Token token = new Token();
        static string connStr = ConfigurationManager.ConnectionStrings["umbracoDbDSN"].ConnectionString;

        protected void Page_Load(object sender, EventArgs e)
        {                
try{
                **string tmpToken = Request.QueryString["token"];
                string tmpEmail = Request.QueryString["email"];

                //Check If Token Still Exists
                using (SqlConnection myConnection = new SqlConnection(connStr))
                {
                    myConnection.Open();
                    SqlCommand command = new SqlCommand("SELECT * FROM [DBTokenTable] WHERE tokens = @token and email = @email and valid = 'true'", myConnection);
                    command.Parameters.AddWithValue("@token", tmpToken);
                    command.Parameters.AddWithValue("@email", tmpEmail);
                    using (SqlDataReader reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            token = new Token { token = reader["Tokens"].ToString(), email = reader["Email"].ToString(), valid = reader["Valid"].ToString() };
                        }
                    }
                    myConnection.Close();
                }**

            }
            catch (Exception ex)
            {
                string error = ex.ToString();

                //Log Any Form Cookies Out
                FormsAuthentication.SignOut();
                RawrLabel.Text = error;
                //Response.Redirect(HttpUtility.UrlEncode("https://google.com/#q=" + error));
            }
        }


        private string _umbval;
        public object value
        {
            get { return _umbval; }
            set { _umbval = value.ToString(); }
        }

【问题讨论】:

标签: c# sql macros query-string umbraco6


【解决方案1】:

我正在使用 Razor 将宏添加到模板页面中,因此 MVC 无法识别 Web 表单 Request.Querystring["value"] 方法。相反,只需使用富文本编辑器将宏直接添加到内容页面。

【讨论】:

    猜你喜欢
    • 2020-12-05
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    相关资源
    最近更新 更多