YAF-从主页面对用户进行身份验证



规格:

  • MVC 4剃须刀
  • C#
  • IIS
  • 7.5
  • 使用YAF-http://yetanotherforum.net/
  • .NET 4

发生了什么

我有一个网站:http://www.mysite.com在那个网站上,我设置了YAF,当用户访问时http://www.mysite.com/forum他们被带到论坛。

我想要什么

当用户登录我的网站时,我想为他们创建一个cookie,这样当用户访问时http://www.mysite.com/forum他们会自动登录论坛。

我做了什么

当用户在我的网站上注册时,会为他们创建一个YAF帐户(工作正常)。当用户登录我的网站时,我会对他们进行身份验证并创建cookie,但我也想为论坛创建cookie,这样用户就不必单独登录论坛。

为了为用户创建cookie,我正在这样做(以便YAF检测到他们已登录):

    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(30), true, "");
    var encryptedTicket = CookieHelper.EncryptTicket(ticket);
    var cookie = CookieHelper.CreateCookie(encryptedTicket, ".YAFNET_Authentication");
    cookie.Path = "/";
    cookie.HttpOnly = true;
    CookieHelper.AddCookie(cookie);

我希望现在访问时能够通过身份验证http://www.mysite.com/forum

有人有智慧的话语吗?

--富

永不终止。。。

以下是解决方案:

在两个web.config中添加了一个具有相同价值观这允许主网站创建加密会话YAF站点可以解密的登录密钥。把这个放在部分将密钥更改为随机的48个十六进制字符您自己的价值(我使用RoboForm生成密钥)。

<machineKey validationKey="DBAEF98E532D4161826F8351C794DFD27C0F814262FD6986"
decryptionKey="DBAEF98E532D4161826F8351C794DFD27C0F814262FD6986"
validation="SHA1" decryption="AES" />

答案在这里找到:登录YAF用户

希望有一天它能帮助别人。

最新更新