Page.User.IsInRole返回false

时间:2016-04-11 01:32:04

标签: c# asp.net forms-authentication

我有一个包含Web API的ASP.NET Webforms网站。该站点在Windows 8上使用Visual Studio 2013和.NET 4.5进行开发和测试,其中IIS Express作为Web服务器。 只是一点点背景。我通过逐个传输文件并匹配配置设置,将我的项目从旧的asp.net网站移动到新的asp.net web api启用项目。

在我的项目中,我遇到了一个始终返回false的Page.User.IsInRole问题。我的登录方法有以下几行代码:

FormsAuthenticationTicket _ticket = new FormsAuthenticationTicket(1, lUserName.Text, DateTime.Now, DateTime.Now.AddMonths(1), chk_remember.Checked, Role, FormsAuthentication.FormsCookiePath);
        string encTicket = FormsAuthentication.Encrypt(_ticket);
        HttpCookie _cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
        if (chk_remember.Checked)
            _cookie.Expires = DateTime.Now.AddMonths(1);
        Response.Cookies.Add(_cookie);

Role是从数据库中捕获的值的字符串。 Page.Identity.User返回用户名称,但Page.User.IsInRole("Admin");始终返回false。我已经找到了解决方案但没有一个解决方案有效。 在我的其他项目中,我没有遇到这个问题。我需要做些什么来解决这个问题? 任何帮助表示赞赏!

0 个答案:

没有答案