规格:
- 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用户
希望有一天它能帮助别人。