【问题标题】:New ASP.NET website using DotNetNuke使用 DotNetNuke 的新 ASP.NET 网站
【发布时间】:2011-04-11 03:42:55
【问题描述】:

目前使用 DNN 5.2.x,我们在网站上仅使用 1 个门户。我们需要制作门户的移动版本并消除大部分额外的 DNN 内容,因为信息只会显示。所以我们决定做的是创建单独的 ASP.NET Web 表单网站并利用 DNN 提供程序(成员资格、角色等)进行登录。但是我们目前遇到了问题。特别是(“试图写入日志的未知异常”)。我们已将大部分 DNN Global.asax(即 SimpleContainer 指令)文件移至新网站,并添加了必要的 web.config 部分和引用,但是当用户登录时出现此错误。我们确实复制了同一个网站。配置新网站的机器密钥。连接字符串也在那里(应用程序设置和连接字符串部分,名为 SiteSqlServer)。

所以我的问题是,除了会员资格之外,有没有人在不使用 DNN 的情况下围绕 DNN 创建了一个新网站?即没有模块,没有皮肤等。只需验证用户并获取角色。

如果您需要做些什么来让 DNN 5.2.x(或更高版本)登录用户并返回角色,您能否发布您的步骤?

【问题讨论】:

    标签: asp.net dotnetnuke


    【解决方案1】:

    默认 DNN 登录基于ASP.NET membership。如果您真正想要的只是登录功能,那么直接使用 ASP.NET 成员资格要比尝试将其从 DNN 中删除要容易得多。

    您正在尝试的事情并非不可能,但肯定需要对试错有足够的耐心。

    【讨论】:

      【解决方案2】:

      仅对于验证用户和获取角色,您可以编写自己的简单提供程序,利用数据库中的 dnn 特殊表,例如(用户、角色、用户角色、配置文件等)。表 User 通过 Username 字段与 aspnet_Membership 和 aspnet_Users 标准表相关联。

      【讨论】:

        【解决方案3】:

        有很多选项可供您选择。

        1. 如果您真的不想深入了解如何集成 dnn 成员资格和角色提供程序是否有效,您可以查看dnn single sign on
        2. 另一种选择是将 Webforms 应用程序作为 dnn 网站中的子文件夹。这样你就不需要做太多的努力,你就会准备好开始所有的好事。甚至你可以直接convert your skin to master page 并重用几乎所有的css和图片相关的suff

        除了上述之外,我还建议另一种聪明的方法来做到这一点。既然您正在考虑移动站点,为什么不尝试使用 Request.Browser 检测浏览器并为 dnn 创建一个较小的单独皮肤。我们可以轻松地为服务请求动态切换皮肤。

        我希望这会有所帮助。如果您对此有更多疑问,我将很乐意为您提供帮助。只需给我发电子邮件,我会尽力帮助您尽可能靠近。

        祝你好运

        【讨论】:

          【解决方案4】:

          这是我们走的路线。我们基本上在网站的移动版中实现了 DNN。除了我们只使用了 DNN 的用户成员功能。为此,我们必须使用所有相同的核心 DNN dll,并在 global.asax 文件中包含所有“启动”功能。我们还必须在每个请求中将一个 UserInfo 对象注入到会话上下文中。我忘记了使用的 UserInfo 对象的键名,但它由 DNN 使用,并且必须在我们未合并的 DNN 处理程序中设置。除此之外,它完美无缺。我们有能力获取用户的所有角色等等。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-11-13
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-11-21
            • 2011-01-12
            相关资源
            最近更新 更多