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