2011-02-28 143 views
3

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

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

如果您有什么需要做DNN 5.2.x(或更高版本)来登录用户并返回角色,您可以发布步骤吗?

回答

0

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

0

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

你正在尝试的并不是不可能的,但肯定会需要充分的耐心试验和错误。

0

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

0

有很多选项可供您选择。

  1. 如果你真的不希望到Digg到如何整合DNN成员身份和角色提供将工作complecations,您可以检查dnn single sign on
  2. 另一种选择是让你的web表单应用程序中的子文件夹您dnn网站。这样你就不需要做太多的工作,你就可以开始准备好所有的好东西。即使你可以直接convert your skin to master page和重用几乎所有的CSS和图像相关的地址

除了上面,我还建议另一种聪明的方式来做到这一点。由于您正在考虑使用移动网站,因此您为什么不尝试使用Request.Browser检测浏览器,并为尺寸较小的dnn创建单独的外观。我们可以轻松地为服务请求动态切换外观。

我希望这会有所帮助。如果您对此有更多疑问,我会很乐意提供帮助。只要放下我和电子邮件,我会尽力帮助你尽可能地接近你。

好运