1

我有一个使用 ASP.NET 会员提供程序的 asp.net web-from 应用程序。除此之外,我在子域中还有另一个论坛网站。我希望当用户在我的网站上注册时,它也会自动在论坛中注册。换句话说,当用户在我的站点注册时,它也可以使用该凭据登录论坛。

因此,当用户在我的站点中注册时,我也会在 yaf_User 表中添加一条记录。但问题是虽然 yaf_User 有一个密码字段,但 YAF 不会在该字段保存密码。我不知道 YAF 在哪里保存密码?

4

4 回答 4

2

一个更好、更简单的解决方案是为 Web 应用程序和论坛使用相同的成员资格提供程序(我假设它也使用成员资格提供程序)。既然您希望应用程序和论坛使用相同的用户名,为什么不使用相同的用户数据库呢?

至于密码,默认是加密的,不是明文的。检查enablePasswordRetrievalweb.config 中的提供程序设置。

在两个应用程序的 web.config 中,将域属性设置为顶级域:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880" domain="toplevel.com"  />
</authentication>

这确保了如果您登录应用程序或论坛,您也将自动登录到另一个。

于 2010-12-28T21:33:29.090 回答
2

YAF.NET 使用 ASP.NET 成员资格(以及角色和配置文件)作为主人。yaf_user 表只是一个论坛特定的从站,它会自动更新。该表中的密码字段是旧的,可​​以忽略。YAF 不再关心密码。如果用户已登录,则论坛很高兴。因此,只要您的会员资格和表单身份验证票证在您的主域和 YAF 子域上都匹配,您就不会有任何问题。

于 2010-12-30T02:17:09.783 回答
0

Naphong, 我已经完成了自动登录 asp.net 会员资格 在第一个 Web 应用程序 1. 填写 web.config

<machineKey validationKey="282487E295028E59B8F411ACB689CCD6F39DDD21E6055A3EE480424315994760ADF21B580D8587DB675FA02F79167413044E25309CCCDB647174D5B3D0DD9141" decryptionKey="8B6697227CBCA902B1A0925D40FAA00B353F2DF4359D2099" validation="SHA1"/>
  1. 我在 [WebApplication1]/login.aspx 中定义的登录页面登录验证填写事件:

    FormsAuthentication.SetAuthCookie([用户名], false); System.Web.HttpCookie MyCookie =System.Web.Security.FormsAuthentication.GetAuthCookie(User.Identity.Name.ToString(),false); MyCookie.Domain = "127.0.0.1";//二级域名//我的网站发布后尝试到我的电脑上 Response.AppendCookie(MyCookie);

在第二个 WebApplication 1. web.config

这就是我使用 YAF 或其他网站成员身份进行单点登录的所有解决方案。

解决不了这个问题可以问我,naphongsa@hotmail.com

于 2011-04-28T08:04:18.720 回答
0

它可以解决你的问题, http: //forum.yetanotherforum.net/yaf_postsm49557_User-Login.aspx#post49557

于 2011-04-28T08:29:34.800 回答