我有一个使用 ASP.NET 会员提供程序的 asp.net web-from 应用程序。除此之外,我在子域中还有另一个论坛网站。我希望当用户在我的网站上注册时,它也会自动在论坛中注册。换句话说,当用户在我的站点注册时,它也可以使用该凭据登录论坛。
因此,当用户在我的站点中注册时,我也会在 yaf_User 表中添加一条记录。但问题是虽然 yaf_User 有一个密码字段,但 YAF 不会在该字段保存密码。我不知道 YAF 在哪里保存密码?
我有一个使用 ASP.NET 会员提供程序的 asp.net web-from 应用程序。除此之外,我在子域中还有另一个论坛网站。我希望当用户在我的网站上注册时,它也会自动在论坛中注册。换句话说,当用户在我的站点注册时,它也可以使用该凭据登录论坛。
因此,当用户在我的站点中注册时,我也会在 yaf_User 表中添加一条记录。但问题是虽然 yaf_User 有一个密码字段,但 YAF 不会在该字段保存密码。我不知道 YAF 在哪里保存密码?
一个更好、更简单的解决方案是为 Web 应用程序和论坛使用相同的成员资格提供程序(我假设它也使用成员资格提供程序)。既然您希望应用程序和论坛使用相同的用户名,为什么不使用相同的用户数据库呢?
至于密码,默认是加密的,不是明文的。检查enablePasswordRetrieval
web.config 中的提供程序设置。
在两个应用程序的 web.config 中,将域属性设置为顶级域:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login.aspx" timeout="2880" domain="toplevel.com" />
</authentication>
这确保了如果您登录应用程序或论坛,您也将自动登录到另一个。
YAF.NET 使用 ASP.NET 成员资格(以及角色和配置文件)作为主人。yaf_user 表只是一个论坛特定的从站,它会自动更新。该表中的密码字段是旧的,可以忽略。YAF 不再关心密码。如果用户已登录,则论坛很高兴。因此,只要您的会员资格和表单身份验证票证在您的主域和 YAF 子域上都匹配,您就不会有任何问题。
Naphong, 我已经完成了自动登录 asp.net 会员资格 在第一个 Web 应用程序 1. 填写 web.config
<machineKey validationKey="282487E295028E59B8F411ACB689CCD6F39DDD21E6055A3EE480424315994760ADF21B580D8587DB675FA02F79167413044E25309CCCDB647174D5B3D0DD9141" decryptionKey="8B6697227CBCA902B1A0925D40FAA00B353F2DF4359D2099" validation="SHA1"/>
我在 [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